2010-09-01 45 views
1

我在trunk中有一個file.txt文件,並且我創建了一個基於名爲Branch的中繼的分支。 該file.txt的包含以下作爲內容: 一個 b Ç d關於在顛覆/合併關注/ git

,並在分支,我修改了file.txt的是

a 
c 
d 
e 

所以後我合併分支回到卡車,然後file.txt的成爲本:(我相信我做了這幾個文件合併我需要每次都重新創建一個分支後,我從分支合併到主幹?)

a 
b 
c 
d 
e 

嗯,這是我不期望的,因爲我對這個文件進行了修改,我想把文件的確切副本合併到trunk中。

那麼我的要求與合併無關?或者可以合併做到這一點?

這就是我弄糊塗了。我從文件中刪除的內容將被視爲差異,它可以合併到主幹嗎?

謝謝。

+0

您是否廣泛修改並重命名d - > e?因爲Git不是真正的重命名,所以Git不會理解它。 – alternative 2010-09-01 19:50:32

+0

@ mathepic:我不是在談論文件名,而是文件內容 – zsong 2010-09-01 19:55:21

回答

0

合併工具並不神奇。他們會盡最大努力,但在很多情況下,這是不夠的。你永遠不應該依靠自動合併。

也就是說,大多數合併工具應該已經捕獲了行「b」的刪除和行「e」的添加。

+0

另外,git並沒有試圖在設計上過於聰明地進行合併。 – 2010-09-01 19:55:44

0

使用git,我做到了這一點,並以'acde'結束。但是,如果我使用--strategy =我們的結果,我會以'abcde'結尾。所以你可以採取任何方式,取決於你選擇的合併策略。 Subversion可能有類似的方法來做到這一點。