如何将一系列提交添加到另一个分支?

时间:2013-04-25 12:05:38

标签: git branch

在git中,如何应用提交序列“D-E”

master       A-B
                \
py3-version      C-D-…-E

回到主人,以获得

master       A-B - <D patch applied> - <…> - <E patch applied>
                \
py3-version      C-D-…-E

我想这样做,因为master是Python 2版本,C是自动生成的Python 3版本 (通过2to3),我需要改进(DE)。现在,我想将改进D放回到E到主分支上(最终忘记Cpy3-version,它们将从新主控中重新生成科)。怎么办呢?

1 个答案:

答案 0 :(得分:3)

这在git lingo中称为cherry-picking,您可以在其中有选择地将更改从一个分支导入到另一个分支:

git checkout master
git cherry-pick py3-version~10..py3-version

这将从“py3-version”分支中选择最后10个提交。

如果出现冲突,系统会提示您手动解决它们。然后,您应该继续使用git cherry-pick --continue(或git cherry-pick --abort,如果出现问题)继续挑选。