在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
),我需要改进(D
到E
)。现在,我想将改进D
放回到E
到主分支上(最终忘记C
和py3-version
,它们将从新主控中重新生成科)。怎么办呢?
答案 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
,如果出现问题)继续挑选。