看看git-rebase
手冊頁,我沒有看到任何看起來像我想要的圖表(除了有些似乎與我想要的相反),並且玩弄--onto
沒有得到我也是我想要的。複雜的git rebase操作
讓我看看,如果我能畫一個圖像是從git-rebase
手冊頁(垂直條的左邊是做出正確的Markdown格式它)中的那些:
| o-o-o-o-branch2
| /
| -o-o-A-master-o-branch1-o-o-my_WIP_branch
branch1
可能實際上並不重要這裏,但我反正包括它。我想要做的就是這個(省略'
s表示,通常伴隨着git-rebase
手冊頁圖表):
| o-o-o-o-branch2-o-branch1-o-o-my_WIP_branch
| /
|-o-o-A-master
基本上,我希望把我的my_WIP_branch
工作在branch2
工作,而不必應付合並涉及標記爲A
的提交組的衝突。有沒有辦法做到這一點,而不是手動櫻桃選擇每個提交branch2
(或者至少有可能是一個簡單的方法來做到這一點?)?順便說一下,會有合併衝突,所以理想情況下它應該是一個git命令或一組git命令,可以優雅地處理這些衝突(例如,git rebase
可以優雅地處理它們,git am
和git apply
則不會)。
正確的,工作。 '--onto'有6種可能的排列,所以我想我沒有嘗試正確的排列。 – asmeurer 2010-05-22 00:47:24
@asmeurer:其實,考慮到'master'是'my_WIP_branch'和'branch2'的共同祖先,一個簡單的'git checkout my_WIP_branch'然後'git rebase branch2'應該已經足夠了。 – VonC 2010-05-22 07:14:12
不,問題在於'master'不是'branch2'的祖先(再看一下我的圖),而且我還沒有準備好處理與'master2'重新綁定到master的合併衝突。 – asmeurer 2010-05-23 17:04:36