簡體   English   中英

將一系列提交從一個(本地)分支移至另一個

[英]Move a sequential set of commits from one (local) branch to another

有沒有辦法將一組順序提交從一個(本地)分支移動到另一個分支? 我已經搜索了很多,但仍然沒有找到想要解決的明確答案。

例如,說我有這個:

master A---B---C
                \
feature-1        M---N---O---P---R---Q

我已經決定,最后3次提交會像這樣更好:

master  A---B---C
                 \
feature-1         M---N---O
                           \
f1-crazy-idea               P---R---Q

我知道我可以做到,並且確實可以:

$ git log --graph --pretty=oneline (copying down sha-1 ID's of P, R, Q)
$ git checkout feature-1
$ git reset --hard HEAD^^^
$ git checkout -b f1-crazy-idea
$ git cherry-pick <P sha1>
$ git cherry-pick <R sha1>
$ git cherry-pick <Q sha1>

我希望有一種更簡潔的方法來執行此操作,可能是使用git rebase,盡管我運氣不高。

任何見識將不勝感激。

謝謝,

傑米

有( git rebase --onto ),但是在這種情況下,您不需要移動它們。 簽出feature-1 ,在同一位置創建一個新分支f1-crazy-idea (但保持在feature-1 ),並向后硬重置3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM