git解决二进制文件冲突

1.冲突的产生

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

2.文本文件冲突解决

出现冲突时git不知道如何自动合并,需要我们解决冲突手动合并. 如果是文本文件,git会在有冲突的地方作上标记(如 HEAD >>> ==== <<< HASH_ID等),标记哪些是当前分支的修改,哪些是其他分支的修改.参考这些标记,解决冲突比较简单.

3.二进制文件冲突解决

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

git checkout FILE --ours [ --theirs ]

–ours 表示检出当前分支,即保存当前分支的改动,丢弃另外分支的改动.

–theirs 表示检出另外分支, 即保存另外分支的改动,丢弃当前分支的改动.

举个栗子:

有分支A和B, 当前我们在分支A上, 需要把分支B合并到分支A, HashMap.c文件发生冲突了.

git checkout HashMap.c –ours 表示冲突的地方采用A分支上的修改,丢弃B分支上的修改.

git checkout HashMap.c –theirs 表示冲突的地方采用B分支上的修改,丢弃A分支上的修改.

解决完冲突后,就可以像往常一样 git add git commit了.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 11,049评论 1 17
  • 终于结婚了,再也不是所谓的“单身狗”了,参加过多次的中国式婚宴,那种传统式的酒席,那隆重的仪式,那动的场面,那热烈...
    荷里阁阅读 1,228评论 0 0
  • 夏日午后我睡了一觉, 醒来看见树上的叶子已经变得暗黄。 我好像从秋风里走过, 却看见繁花上皑皑的白雪。 我悄悄走近...
    这是朵被遗弃的云阅读 2,870评论 0 2
  • 妹妹从小就是一个脑子大条的毛丫头。做事大大咧咧,从不为任何事情困扰。 妹妹小时候是个特别爱臭美的家伙,做梦都想长高...
    曰日如歌阅读 3,991评论 0 9
  • 内心的平静与满足在很大程度上取决于在个人身上与生俱来的历史上的家族是否能与目前那转瞬即逝的各种情况相协调。
    苏再蓉阅读 1,202评论 0 0