git解决冲突

冲突的产生
当我们向远程Git服务器提交某一个文件的修改时,恰巧这个文件相同的修改地方其他人也有修改,并且已经提交到服务器,这时冲突就产生了. 通常,当我们合并两个相同的地方都有修改的分支时,都会产生冲突.


解决过程的协助
(1)合并前后使用“git diff <文件、分支、版本>”来查看即将合并的文件差异
(2)混乱时使用“git reset --hard HEAD”回退到合并前的那个版本
(3)查看分支与远程分支的追踪关系“git branch -vv”
(4)设置分支与远程分支的追踪关系“git branch或push --set-upstream ff origin/ff”

解决方法

(1)文本文件
如果是文本文件,git会在有冲突的地方作上标记(如 HEAD >>> ==== <<< HASH_ID等),标记哪些是当前分支的修改,哪些是其他分支的修改.
前面是当前分支中的内容,后面是要merge过来的另一条分支上的代码。
修改完后用“git add/rm <文件>”来标记以结束合并。
(2)二进制文件

如果二进制文件发生冲突,不方便查看git插入的冲突标记, 解决比较棘手,通常最简单的解决方法是提前沟通好,相同修改的地方二选一. 
git checkout <文件> --ours [ --theirs ]

–ours 表示检出当前分支,即保存当前分支的改动,丢弃另外分支的改动. 
–theirs 表示检出另外分支, 即保存另外分支的改动,丢弃当前分支的改动.
解决完冲突后,就可以像往常一样 git add git commit了.

原文:

git解决二进制文件冲突

参考:

Git 分支管理和冲突解决

git分支的合并和冲突解决


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值