git拉取代码冲突处理

在使用git pull命令拉取代码时,有时会遇到以下错误信息:

error: Your local changes to the following files would be overwritten by merge:
       ...
Please commit your changes or stash them before you merge.
Aborting
Updating 1d17a2c5..3de3e123

解决方法:
一、根据提示,可以直接commit你的修改

二、使用stash处理
1、git stash 先将本地修改存储起来
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。

2、git pull 再次拉取代码

3、git stash pop 还原暂存的内容
git stash pop: 默认为git stash pop stash@{0},从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从哪个地方恢复。

4、解决冲突
然后可以使用git diff -w +文件名 来确认代码自动合并的情况,并作出相应修改。
在存在冲突的文件中,Updated upstream 和=====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。
5、删除stash
使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。
git stash clear: 清空Git栈,清除所有stash。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值