我希望能夠做到這一點:混帳:獲得的git的'好處底墊--interactive`櫻桃挑選
git cherry-pick --interactive hash-0..hash-n-1 # fantasy command
,並獲得相同的工作流程互動變基:編輯緩衝區來起來,包含:
pick hash-0
pick hash-1
pick hash-2
...
pick hash-n-1
在那裏我可以刪除任何不需要提交,squash
在一起,或edit
的選秀權之間的停頓做一些手工修正(如commit --amend
)和所有。
注互動變基pick
是怎麼樣tanalizingly cherry-pick
。
現在上述操作可以通過首先執行櫻桃挑選來完成,然後交互式變基,這是不方便的。那就是:
$ git tag old-head # mark starting point for later rebase
$ git cherry-pick hash-0..hash-n-1 # get everything first
$ git rebase --interactive old-head # okay now rebase "in-branch" to fix it up
這不僅是不方便的,因爲這兩個步驟,而是因爲它可能需要解決衝突的承諾,你甚至不想將在底墊階段被丟棄。
是不是'git的重訂 - 那就是嗎? –
@CarlNorum我不知道;如果是這樣,它可以擴展爲答案嗎? – Kaz
你是否真的試圖挑選提交範圍'hash-0..hash-n-1',或者你在尋找一個可以推廣到不一定是祖先/後代的任意提交的答案? –