用git添加分支提交

问题描述 投票:0回答:1

我想把另一个分支的提交内容追加到当前分支上。

      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 git-rebase
1个回答
1
投票

操作可以很简单,不需要重写,只要挑出你需要的范围即可。

git checkout feat_A
git cherry-pick ..feat_B

其中 ..feat_B 是一种隐性的 HEAD..feat_B意思是 "每一次提交都要从 feat_B 尚未从 HEAD".


1
投票

该。git cherry-pick <commit> 命令可以让您从任何分支中提取一个提交,并在您的工作分支中重新建立基础。

© www.soinside.com 2019 - 2024. All rights reserved.