使用 git 追加分支提交
append branch commits with git
我想将另一个分支的提交附加到我当前的分支:
A---B---C feat_A*
/
o---o---o---o master
\
D---E---F feat_B
A---B---C---D'--E'--F' feat_A*
/
o---o---o---o master
\
D---E---F feat_B
但是,执行 git rebase feat_B
会导致 D---E---F---A'--B'--C'
。
另一种选择是
git checkout feat_B
git rebase feat_A
这导致了正确的顺序 A---B---C---D'--E'--F'
但是这些提交在 feat_B 而不是 feat_A.
如何让 git-rebase 将另一个分支的提交附加到当前分支?
无需变基即可轻松操作,只需挑选您需要的范围即可:
git checkout feat_A
git cherry-pick ..feat_B
其中 ..feat_B
是隐含的 HEAD..feat_B
,意思是 "every commit from feat_B
which is not already reachable from HEAD
"。
git cherry-pick <commit>
命令允许您进行一次提交(从任何分支),并且实质上是在您的工作分支中对其进行 rebase。
我想将另一个分支的提交附加到我当前的分支:
A---B---C feat_A*
/
o---o---o---o master
\
D---E---F feat_B
A---B---C---D'--E'--F' feat_A*
/
o---o---o---o master
\
D---E---F feat_B
但是,执行 git rebase feat_B
会导致 D---E---F---A'--B'--C'
。
另一种选择是
git checkout feat_B
git rebase feat_A
这导致了正确的顺序 A---B---C---D'--E'--F'
但是这些提交在 feat_B 而不是 feat_A.
如何让 git-rebase 将另一个分支的提交附加到当前分支?
无需变基即可轻松操作,只需挑选您需要的范围即可:
git checkout feat_A
git cherry-pick ..feat_B
其中 ..feat_B
是隐含的 HEAD..feat_B
,意思是 "every commit from feat_B
which is not already reachable from HEAD
"。
git cherry-pick <commit>
命令允许您进行一次提交(从任何分支),并且实质上是在您的工作分支中对其进行 rebase。