冲突的概念
git在使用中,如果遵循了它的使用的步骤,比如,在上班之前先去拉取,下班的时候,先提交,如果遵循这个步骤,一般在用的时候没有错误会产生的,但是,因为在开发的时候,会有多人,协作开发的这种情况,这些情况,可能在实际操作时,会把一些步骤给遗忘,比如今天上班,并没有先去拉取,这个时候我们在提交的时候,就会有问题产生,因此我们称之为叫冲突。
这一节主要的目的,是来演示一下冲突的产生,以及遇到了冲突之后,怎么去解决。
二、案例介绍
模拟产生冲突
保证本地和线上一致
同事在下班之后修改了线上仓库的代码
通过github 对某个文件进行了修改,如图
小a进行了修改,保存且提交
注意:此时修改之后本地仓库和线上所展示的内容是不一致的对比如图:
2、第二天上班的时候,没有做git pull 的操作,而是直接修改了本地对应文件内容并保存。
修改内容如下:
3、下班的时候将修改的代码提交在线上的仓库(git push)
修改并提交:
给出提示:
要在push操作之前先进行git pull 操作。
因此本次提交失败。如图:
刷新发现修改的内容并没有提交到线上。
解决冲突
按照提示内容先进行 git pull :
执行之后需要注意的是,
观察执行效果:
说明git已经将线上与本地仓库的冲突合并了,在文件 readme.txt 中。打开冲突文件并解决冲突。
从文件可以看出:自己修改的和小a修改的都显示出来
解决方法:
需要和同事(谁修改的)进行商量,看代码如何保留,将改好的代码再次提交即可。如果都想保留删除 git 给出的信息即可。
最后重新进行提交:
回到线上并刷新:
内容发生改变,没有冲突。问题已经解决。
总结:产生冲突的原因是没有遵循之前设定好的步骤。