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

场景:因为有事情需回到学校搞毕设,同事在公司说接口代码有问题,需要修改;
我用笔记本把代码同步到笔记本,然后做了一些修改、提交。修改完成。
第二天我来到公司(公司里用台式机,不是自己的笔记本),忘了先git pull到本地之后,直接在台式机上的代码进行编写,突然想起忘了pull了,然后想用git pull来更新本地代码。结果报错:

error: Your local changes to the following files would be overwritten by merge:

意思是我台式机上新修改的代码的文件,将会被git服务器上的代码覆盖;我当然不想刚刚写的代码被覆盖掉,看了git的手册,发现可以这样解决:
  • 方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
git stash
git pull origin master
git stash pop
如此一来,服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖,之后使用add,commit,push 命令即可更新本地代码到服务器了。
  • 方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
git reset --hard
git pull origin master

注:其中origin master表示git的主分支。

  • 0
    点赞
  • 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、付费专栏及课程。

余额充值