环境,a用户,b用户,远程仓库用gitee或者github
模拟冲突,a,b用户操作master主分支
第一步,a用户创建一个远程仓库,并在仓库里创建一个index.html文件,然后在这个文件里第一行写<div>111</div>(如下图红色箭头)
第二步,b用户拉了这份代码,看到a用户上传了index.html文件,并且第一行是<div>111</div>
然后,b用户把第一行代码改为<div>111222</div>,上传远程仓库(这肯定是成功,原因是,这整个文件都是新的,然后b用户修改了上传,因为b是第一个上传的人)(如下图黄色箭头)
第三步,a用户修改index.html文件的第一行代码,改为<div>111333</div>
情况一,然后直接上传远程仓库,这个时候会冲突,原因是:(如下图蓝色箭头)
1修改了同一行代码
2没有先拉取远程仓库的最新代码(现在远程仓库最新的是<div>111222</div>)
这个时候解决冲突是:要么不要a用户的修改的<div>111333</div>,要么覆盖远程仓库的<div>111222</div>
情况二,先拉取远程代码,这个时候会冲突,原因是:(如下图绿色箭头)
1修改了同一行代码
这个冲突叫本地解决冲突,情况一的冲突叫远程解决冲突,一般都是在本地解决冲突好一点,因为...(这是个人理解哈)
这个时候解决冲突是:删掉<div>111222</div>,写<div>111333</div>
看图可能更清晰一些,随便画的,凑合看吧,别喷