2014-09-10 88 views
1

我們的團隊一直在開發一個項目的2個版本。覆蓋git分支,同時保留歷史

master分支中的提交基本上是對舊代碼的錯誤修正, 而v2setup分支包含完整的重寫。

如果沒有發生這些錯誤修正我可以簡單地將新分支壓回主服務器, 但如果我沒有錯誤,那隻會導致現在惱人的衝突。

那麼我該怎麼做呢?

回答

1

這聽起來像你想合併master到v2Setup中......但是對於HEAD中的代碼是什麼v2Setup現在是這樣嗎?

如果是這樣,這其實是相當容易使用的合併策略「我們的」

所以合併掌握到v2Setup與

git merge -s ours master 

編輯acheive 好了,閱讀評論,聽起來就像你想在master上前進,但隨着v2Setup的變化。所以從上面的命令你現在可以合併回到主,你會得到你想要的。

或者更好的辦法是使用他們的策略,從主

git merge -X theirs v2Setup 
+0

之後,你會最終母版,其中它是,但v2Setup將與主人的歷史分支。因此,在那之後,如果你想繼續你的主人的工作,你可以簽出master並將v2Setup合併到它裏面:)我從來不明白爲什麼沒有他們的策略,有沒有什麼好的理由呢? – theadam 2014-09-11 07:26:02

+0

不完全。前段時間v2setup支持主控,我想「合併壁球」回主控。我以爲我可以刪除'master'中的所有文件,從'v2se​​tup'複製這些文件並作爲一個大變更提交,但我不知道這是多麼正確和高效。 – skerit 2014-09-11 08:34:33