我經常在分支上設置子分支,我想將其重新分配到主線上。試想一下:立即重新設置子分支的分支
* (Mainline)
*
*
| * (topicA_Branch3)
| *
| *
| * (topicA_Branch2)
| *
| *
| * (topicA_Branch1)
| *
| *
|/
*
*
我想所有這三個topicA
分支移動到主線。目前,我知道兩種方法可以做到這一點:
雖然在
topicA_Branch3
,執行命令,git rebase Mainline
。a。在這一點上,我將不得不刪除
topicA_Branch1
和2
,並手動重新創建分支上正確提交現在重新。另一種方法是做三個獨立的命令:
一個。而在
topicA_Branch1
,做git rebase Mainline
。b。
git rebase --onto topicABranch1 <topicA_Branch1-old-SHA> topicABranch2
c。
git rebase --onto topicABranch2 <topicA_Branch2-old-SHA> topicABranch3
d。這是一種累贅......
有,我想,這將變基的一個分支,並把它的子分支與它的命令?
要清楚,我想這個落得:
* (topicA_Branch3)
*
*
* (topicA_Branch2)
*
*
* (topicA_Branch1)
*
*
* (Mainline)
*
*
*
*
作爲一個有趣的方面說明,'git filter-branch'包含了自動執行此操作所需的所有機器。但'filter-branch'沒有任何內建的'rebase'功能。再加上它是一個非常大的(雪橇)錘子,相對於這個相對簡單的問題。 :-) – torek