git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

3 篇文章 0 订阅

公司电脑比较卡,所以想用自己的Mac开发,按照
https://blog.csdn.net/zhw521411/article/details/88393154
把自己的git账号添加到公司的git下,作为collaborator,clone了公司的代码到mac开发然后用终端push。之后再用公司mini开发pull时报错,error: Your local changes to the following files would be overwritten by merge:
原理:其实公司电脑和自己mac都clone了远程merge,共同维护着远程分支,mac开发之后push到远程分支,此时远程仓库发生改变,而此时mini本地版本没有和远程同步,顾pull的时候报错。正确做法是在开发之前pull,拉取最新代码。
解决:
方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash
git pull origin master
git stash pop

服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖,之后使用add,commit,push 命令即可更新本地代码到服务器了。

方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:

git reset --hard
git pull origin master

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在使用 SourceTree 操作 Git遇到 "Your local changes to the following files would be overwritten by merge" 的错误提示,这意味着你正在尝试合并的分支与当前分支存在冲突。为了解决这个问题,你可以采取以下步骤: 1. 首先,你需要查看哪些文件发生了冲突。SourceTree 会在界面上用红色标记出发生冲突的文件。你可以点击这些文件,查看具体的冲突内容。 2. 接下来,你需要决定如何处理这些冲突。有两种常见的方法: a. 保留当前分支的更改:如果你认为当前分支的更改是正确的,可以选择保留它们。在 SourceTree 中,右键点击发生冲突的文件,选择 "Reset File to Previous Version"(重置文件到之前的版本)。这将撤销你在当前分支上的更改,使文件回到合并前的状态。 b. 保留要合并的分支的更改:如果你认为要合并的分支的更改更合适,可以选择保留它们。在 SourceTree 中,右键点击发生冲突的文件,选择 "Use Theirs"(使用他们的版本)。这将将文件恢复到要合并的分支上的状态。 3. 解决完所有冲突后,你需要提交更改。在 SourceTree 中,点击 "Commit"(提交)按钮,填写提交信息,然后点击 "Commit & Push"(提交并推送)按钮。 4. 最后,确保你的本地仓库与远程仓库同步。在 SourceTree 中,点击 "Pull"(拉取)按钮,以获取远程仓库的最新更改。 通过以上步骤,你应该能够解决使用 SourceTree 操作 Git遇到的 "Your local changes to the following files would be overwritten by merge" 错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值