2014-04-11 104 views
0

我只是不明白。我有一個分支production和一個分支master。一直在努力生產,可能我應該更經常地與主人合併。這些Git衝突從哪裏來?

production's最近一次提交是幾個小時前,master's是幾個星期前。

我跑

git checkout master

git merge production

,我有大約10衝突。 20個「需要合併」的文件。

我不明白。只有我在研究這個項目,爲什麼我會遇到這個衝突?

當兩位開發人員同時編輯相同的代碼時,我認爲會產生衝突嗎?我的production分支中的代碼顯然是我想要的代碼。很奇怪。我一直很高興地融入主人,然後突然這樣。

+0

這不一定是兩位開發人員編輯相同的代碼。它的代碼在兩處發生了變化。如果你在master和production中更改了一行代碼,那會導致衝突,因爲Git不知道你想保留什麼。 –

回答

0

合併衝突的原因是衝突文件中的信息有分歧。當你要合併這些文件時,他們有一個共同的'基本'版本,一個'我們'的版本,這是你所站的版本,和'他們的'版本是你想合併的分支的版本。

如果你真的確定它是生產分支中的代碼,我想這會解決你的問題。站在主人:

$ git merge -s theirs production 

另一種方法是運行mergetool並手動選擇正確的更改。

$ git mergetool