2016-04-03 80 views
1

我刚刚下载了最新版本的Git到我的Windows平台。我有以下内容的文件承诺:为什么我会遇到合并冲突?

 
Line 1 
Line 2 
Line 3 
Line 4 

然后,我创建了一个分支:git的分支发展
我继续上分支和修改的第一行,所以我现在有:

 
Line 1master 
Line 2 
Line 3 
Line 4 

我登台并提交master分支上的更改。我切换到发展分支和修改第二行,所以我现在有:

 
Line 1 
Line 2development 
Line 3 
Line 4 

I期和承诺的发展分支的变化。我现在切换回主人分店。我尝试与合并发展分支:
混帐合并发展
我得到以下冲突:

 
<<<<<<<< HEAD 
Line 1master 
Line 2 
======= 
Line 1 
Line 2development 
>>>>>>> development 
Line 3 
Line 4 

但是,为什么?分支创建之后,每个主分支和开发分支都进行了更改。但是他们在文件中有不同的路线。那么为什么是冲突呢?

+0

的变化是靠得太近,混帐,以确保它们不相交。 –

+0

我尝试了第1行和第4行的更改,并没有发生冲突。我仍然不太满意,Git无法弄清楚这一点。自开发分支创建以来,对主分支完成的文件进行的MINIMAL更改只是一个单行更改。同样在合并时的开发分支上,这些都是不相交的变化。为什么Git不会使用最小差异? –

+0

Git使用的阈值是什么,它是可配置的? –

回答

0

由于您在提交主上的更改之前创建了开发分支,因此master在您尝试合并开发分支时有不同的内容(line1master)。

这张图片说明了更好的情况;

enter image description here

+0

这不回答问题。 –

+0

我认为它......解释了为什么OP需要合并......原因已被清楚地解释 –

+0

OP在询问为什么会有冲突 - 这些更改并未涉及文件的相同部分。 –