1
在我們的Git倉庫中,我們有幾個分支合併,應該合併爲--no-ff
但不合並。這些合併是很久以前做出的。很久以前合併的No-FF
有什麼辦法強制/插入一個提交,就好像我們正在運行那些舊的合併與--no-ff
參數?
項目中的一個超級用戶喜歡GitHub的網絡視圖,並希望能夠看到各個分支,這些分支在發生快進時都合併爲一行。
在我們的Git倉庫中,我們有幾個分支合併,應該合併爲--no-ff
但不合並。這些合併是很久以前做出的。很久以前合併的No-FF
有什麼辦法強制/插入一個提交,就好像我們正在運行那些舊的合併與--no-ff
參數?
項目中的一個超級用戶喜歡GitHub的網絡視圖,並希望能夠看到各個分支,這些分支在發生快進時都合併爲一行。
如果你不介意有一個新的主/主分支(或覆蓋舊的 - 但是記住,重寫發表歷史BAD),你可以簡單地重新創建的合併,如果你還記得,當他們/應該已經作出:
結帳忘記第一/不存在/未接合併:
git checkout -b new_master $commit_before_merge
合併舊的提交。如果您想要正確的合併消息(包括原始分支名稱),則可能需要暫時重新創建舊分支,或手動編輯消息。
git merge $head_commit_of_old_branch
你將不得不使用cherry-pick
或rebase
從原來的主分支副本提交到新的「mergy」分支。 (摘櫻桃與承諾的範圍,需要一個最近的Git版本)
git cherry-pick $commit_before_merge..$commit_before_next_merge
回到步驟2和重複,直到你滿意的歷史。
NB。首先備份和測試本地克隆。
這將是一個漫長的夜晚。謝謝! – Qix 2012-07-25 10:07:01
@ Di-0xide:我不知道是否有更高效的版本,但我不知道更好的方法 – knittl 2012-07-25 11:00:01