使用Git Bash操作Git(六):解决同一文件中的不同行冲突
场景:开发人员1修改了README.md文件,然后将它提交到了中央仓库中。开发人员2不知道有人修改了README.md文件,就没有对它进行更新。后来,开发人员2也去修改了这个README.md文件,当他尝试将修改后的内容提交到中央仓库时,就产生了冲突。
1 开发人员1修改文件
开发人员1在README.md文件的第一行后插入内容“Developer1 add a line here!”:

修改完成后,开发人员1将修改后的文件提交到远程的中央仓库中:

2 开发人员2修改文件
开发人员2在README.md文件的第二行后插入内容“Developer2 add a line here!”(开发人员1与开发人员2修改了同一文件中的不同行),然后提交。当他尝试将修改后的内容推送到中央服务器时,Git会拒绝这个请求,然后提示他需要先进行更新操作。

3 开发人员2更新文件
开发人员2输入“git pull”指令来更新文件,这个时候Git会将远程仓库中的README.md文件与他本地仓库中的README.md文件进行合并。
在合并的过程中,Git会要求用户输入这次合并的备注信息:

输入完备注信息后,合并更新操作就完成了:

4 查看合并更新结果
合并更新结果如下图所示:

5 开发人员2推送文件
对冲突的文件进行合并更新后,开发人员2就可以将它推送到远程的中央仓库了:

6 开发人员1更新文件
开发人员2修改了文件后,开发人员1可以更新下来查看修改的结果:

网友评论