2016-04-03 66 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在詢問爲什麼會有衝突 - 這些更改並未涉及文件的相同部分。 –

相關問題