Git系列之冲突详解
1、1.冲突产生的原因
针对某个合并操作,HEAD仓库中被修改过的部分与工作目录中将被合并的修改部分为同一代码片段,此时git不知如何取舍,便会产生冲突.
2、2.演示冲突的产生
从某个A状态出发,我们修改index.html和test.html,并将其保存至暂存区,此时本地代码会恢复至A点。如图(1)所示。

3、我们再次修改index.html的同一代码片段,并将其提交至HEAD仓库。如图(2)所示。

4、此时若要取出暂存区内容,就会产生冲突,具体表现如图(3)所示。
【注意下图行为: index.html出现了冲突,将HEAD仓库代码和暂存区代码都合并到了工作目录,但text.txt并没有冲突,而是直接从暂存区取出至缓存区】

5、3.冲突解决的原理
人为处理冲突,根据具体业务逻辑,判断代码的取舍,然后提交修改后的代码。
6、4.演示冲突的解决
冲突文件中冲突区域如图(4)所示。

7、我们调整冲突后,如图(5)所示。
【注意:解决冲突只要删除冲突标识即可,具体内容根据具体业务取舍,下面我们假如只保留已经提交至HEAD仓库的内容】

8、然后将处理后的文件加入缓存区,此时你会发现index.html会被自动添加至HEAD仓库,而text.txt还在缓存区,需要我们手动提交。如图(6)所示。

9、至此,冲突解决完毕
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。