原因
在git中,冲突产生的原因是因为在合并文件时同一个文件的同一个位置都修改了,并且内容不同
1、同一个位置都修改
test1 修改:
#container {/注释一下咯/
test2 修改:
#container {/* 这是最外层div */
2、不同地方修改
test1 分支
test2分支
两次修改不是同一个地方,可以成功合并
实验2,冲突和修改次数无关,从文件角度看,不需要考虑版本号
3冲突和修改次数无关,
之前总以为和修改次数有关系,然后涉及到版本号什么的
dev 和test1 分支同属master子分支
dev 分支 提交了2次
第一次提交: readme.txt 添加了一行
第一次提交: test.txt 添加了一行
test1分支 , 提交了1次,修改了a.html
将dev合并到test1 ,无冲突
4、更复杂的过程
11分支
修改a.html,添加
11
试试11和dev,现在两个分支内容不同,内容不同,归根结底是经过了修改提交
分支内容不一致,大概过程,dev经过了多次提交,没合并到master
11分支是master子分支, 经过了几次提交,和dev相比只改了a.html
11分支log
dev分支log
难道判断冲突还要判断哪次提交改到了哪些内容,这多复杂呀,个人觉得,应该将两分支只是相同文件进行比较吧,结果确实如此,没改动到相同文件,不产生冲突,不管提交次数相差多少次
5、
不放心可以再试一组 分支22和分支11
分支22简单修改,提交过一次,被合并到11分支,之后 11分支 了合并dev分支内容
11分支
修改a.html div标签旁 添加注释
分支22删除了div标签
将22分支合并到11上,产生了冲突,改动了相同位置
git log查看当前分支 commit记录
总结:
再复杂的操作,再多次的提交,冲突产生也是只比较文件,相同文件的同一位置内容,是否一致