Git 冲突:commit your changes or stash them before you can merge 的解决办法

问题背景

当使用git pull 来更新本地代码的时候,有时候会出现冲突,,提示:Please,commit  your changes or stash them before you can merge,该提示上面会显示出冲突的文件。

 

问题分析

出现该问题的原因是你正在本地修改文件a.cpp,你的团队中另外一个人也修改了该文件并且已经提交到版本库中了,然后你们可能修改了代码的同一个地方或者有其他造成冲突的行为,这个时候你更新代码就会出现a.cpp的冲突。

 

解决方法

第一种方法就是直接commit你的本地修改,但是这样很容易覆盖到别人修改的部分,不建议使用(除非你已经告诉修改代码的那个人)。

 

第二种方法是在你的工作目录下使用git命令,先通过git stash将工作区恢复到上次提交的内容,同事备份本地修改,之后再正常git pull更新仓库里的代码,之后再执行git stash pop 将本地的修改恢复到当前本地工作区。

git stash

git pull

git stash pop

(但是这样如果真的有冲突的话,当git stash pop 之后还是会有冲突呀,只是git pull命令执行完后不会提示冲突。。。)

 

第三种方法是放弃本地修改,直接使用远程仓库里的最新代码(这样你可以确保你修改的代码是在别人最新的代码基础上进行的)。具体命令为:

git reset --hard

git pull

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值