如何一次在git中提取一系列提交?

时间:2010-08-12 15:08:48

标签: git merge cherry-pick

我在fork中有一系列提交,我想一次应用或拒绝一个fork到我的fork。我应该使用git cherry-pick吗?

2 个答案:

答案 0 :(得分:4)

我会为此使用交互式rebase:

git rebase -i master fork-branch

当git询问您要对每个提交做什么时,请告诉它所有提交的编辑(搜索和替换选择 - >编辑)。保存并退出,交互式rebase将通过提交,停在每个提交让你做你的事情。进行测试,决定是否要保留它。如果您这样做,只需运行git rebase --continue即可转到下一个。如果不这样做,请运行git reset --hard HEAD^重置为上一次提交,丢弃您不想要的提交,然后转到git rebase --continue

如果你知道你提交的提交你不想要,你可以从列表中删除它们,而不是改变选择编辑。当然,如果我完全误解了,你不需要做任何测试,那么你几乎可以忽略前一段,并通过有选择地删除线来完成所有这些。

答案 1 :(得分:0)

是。 git cherry-pick COMMIT_SHA将允许您获取特定提交。但是,您不需要拒绝提交;只是不要樱桃挑选它们。