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