首页 > 代码库 > git 冲突是怎么产生的

git 冲突是怎么产生的

首先,一个用git 写代码,而且只有一个本地分支的情况下是不会又冲突的.

冲突可以说是两个分支的冲突.具体是两个已经提交的分支的相同文件相同位置的的不同操作进行了合并.

 

不会冲突的习惯是,修改文件之前先merge 别的分支.

我在master 分支上创建并提交一个文件,切换到新的b分支上是没有这个文件的.这说明分支之间是相互独立的.

通过git merge master 把master上新增的文件给merge 过来.这是不会又冲突的.0+x = x

 

如果我在新的分支b上把master 对应行的数据给改了,并提交.然后切换到master,我再git merge b -m ‘from b‘ 也不会冲突,结果是被b分支的修改给覆盖了.

 

冲突的原因:

如果我切换到分支b ,修改了master 原本哪行的代码,提交.然后再切换到master.我不知道b修改了这个文件.我也修改这一行的代码,并提交.好了,"两个分支相同文件相同位置的的不同操作"    我这个时候就在master merge b 或在 b上merge master. 冲突!!! 不解决冲突是没法提交和切换到别的分支的. 反正这个冲突后的文件必须被改动一下.

 

自动合并:

上面冲突的原因大字体的句子改为,我不知道b修改了这个文件.我[我在我自己的代码上做了修改,b并没有动我代码]的代码,并提交,然后去合并b ,不会冲突,即便我没有先merge b.这种情况是自动合并.

 

git 冲突是怎么产生的