git pull——git库版本与本地库版本冲突总结

git库版本与本地库版本冲突:个人定义为就是git库版本与本地库版本不匹配,详细地说就是我们从git库clone克隆下来的版本,经过修改后提交并合并成新版本,但是后来又将git库的该版本撤销了,而本地没有撤销该版本,此时就是本地库拥有此版本而git库中没有此版本。这样在使用git pull或git pull origin master可能会出现:“Your local changes to the following files would be overwritten by merge”或"PULL  不可用,因为您尚有未合并的文件“或"自动合并失败,修正冲突后提交修正后的结果"

“Your local changes to the following files would be overwritten by merge”这样的错误,意思就是你的本地修改以下文件将被覆盖合并。

情况一

如果只会提示:“Your local changes to the following files would be overwritten by merge”这样的错误,这样的错误是因为本地库中有修改,但是没有提交到git库中,而现在使用git pull或git pull origin master来更新代码就会提示本地修改的文件会被覆盖合并,虽说会覆盖合并,其实根本就没有合并。以前为了同步git库对应的版本,而使用git checkout -f来撤销自己的修改,这样实在是太愚蠢的做法。原来我们是可以使用git stash暂时搁置当前已做的修改,倒退到改动之前的状态来进行其他的必要操作(比如发布,或者解决一个bug,或者branch,等等)。此时就可以使用git pull或git pull origin master来更新代码,然后使用git stash pop撤销最后的一个搁置(可能有多次搁置,查看搁置使用git stash list)。

情况二

如果通过情况一的解决办法还是不行,如果遇到"PULL  不可用,因为您尚有未合并的文件“或"自动合并失败,修正冲突后提交修正后的结果"。如:



此时就有可能是本地库中拥有git库中没有的版本,到查看git库的版本状态以及本地使用git log查看本地的版本状态,本地查看结果如下:


解决办法就是我们本地也要将"触摸屏跳点问题"这个版本撤销,当然也可以撤销到比它更前的版本。如:

使用git reset --hard 03a280c275bbd48c61417948173cbabf5bc71a69回退到"LCD  PWM背光调节"这个版本。其中03a280c275bbd48c61417948173cbabf5bc71a69为对应版本commit后面的字符串


最后使用git pull origin master成功更新了代码。


git branch:查看分支

git checkout master 切换到分支‘master’



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值