git - 使用 git 追加分支提交

标签 git git-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,意思是“来自 feat_B 的每一次提交都无法从 访问>头”。

关于git - 使用 git 追加分支提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61866989/

相关文章:

git - 一步完成复杂的交互式 rebase ?

git - 如何知道是否有正在进行的 git rebase?

包含 LaTeX 文件和多个提交者的 Git 工作流程

linux - 如何在 Mac 或 Linux 中找到 git 的安装路径?

git - merge 后如何 rebase ?

git - 使用 git rebase -i 重新排序提交时出错

Git:由于未提交的更改而无法 rebase

git ls-remote 返回 "fatal: No remote configured to list refs from."

git - 构建 Docker 镜像时无法使用私钥进行 SSH

git - 从 Master 分支但包括来自另一个未 merge 分支的更改