比方說,我有一個Git倉庫,看起來像這樣:如何根據每次提交的日期將兩個分支合併爲一個分支?
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
爲了讓事情變得更簡單,讓我們說上branchA的提交嚴格修改的fileA,並branchB的提交嚴格的修改FILEB。
我想這些分支合併到第三分支,branchAB,其中提交將按日期排序:
merge-base---A1--A2------A3------A4 (branchA)
\
----------B1------B2 (branchB)
\
A1--A2--B1--A3--B2--A4 (branchAB)
有沒有辦法用一個單一的git命令自動做到這一點,還是我堅持手動方法(如櫻桃採摘或rebase -i)?
順便說一句,merge-base
是一個標籤。
我知道第一次合併只是一個快進。那麼爲什麼不在其他分支之一上創建ab分支作爲起點呢? – 2011-03-23 23:03:19
@adymitruk:是不是會重新排序提交,以便獲得一個分支的所有提交以及所有其他分支的提交?保持訂單(基於日期)非常重要。 – splicer 2011-03-24 00:29:41
@adymitruk:再想一想,是的,應該可以在branchA的頂端開始branchAB,然後合併到branchB。重要的是做一個'rebase - 去'去除branchAB上的合併歷史記錄,按日期重新排序提交。 – splicer 2011-03-24 15:27:01