1
我們的團隊一直在開發一個項目的2個版本。覆蓋git分支,同時保留歷史
master
分支中的提交基本上是對舊代碼的錯誤修正, 而v2setup
分支包含完整的重寫。
如果沒有發生這些錯誤修正我可以簡單地將新分支壓回主服務器, 但如果我沒有錯誤,那隻會導致現在惱人的衝突。
那麼我該怎麼做呢?
我們的團隊一直在開發一個項目的2個版本。覆蓋git分支,同時保留歷史
master
分支中的提交基本上是對舊代碼的錯誤修正, 而v2setup
分支包含完整的重寫。
如果沒有發生這些錯誤修正我可以簡單地將新分支壓回主服務器, 但如果我沒有錯誤,那隻會導致現在惱人的衝突。
那麼我該怎麼做呢?
這聽起來像你想合併master到v2Setup中......但是對於HEAD中的代碼是什麼v2Setup現在是這樣嗎?
如果是這樣,這其實是相當容易使用的合併策略「我們的」
所以合併掌握到v2Setup與
git merge -s ours master
編輯acheive 好了,閱讀評論,聽起來就像你想在master上前進,但隨着v2Setup的變化。所以從上面的命令你現在可以合併回到主,你會得到你想要的。
或者更好的辦法是使用他們的策略,從主
git merge -X theirs v2Setup
之後,你會最終母版,其中它是,但v2Setup將與主人的歷史分支。因此,在那之後,如果你想繼續你的主人的工作,你可以簽出master並將v2Setup合併到它裏面:)我從來不明白爲什麼沒有他們的策略,有沒有什麼好的理由呢? – theadam 2014-09-11 07:26:02
不完全。前段時間v2setup支持主控,我想「合併壁球」回主控。我以爲我可以刪除'master'中的所有文件,從'v2setup'複製這些文件並作爲一個大變更提交,但我不知道這是多麼正確和高效。 – skerit 2014-09-11 08:34:33