合并不同分支之间的Git提交记录

3
我有两个分支,暂称为A和B。我想选择性地将约20个提交从A复制到B。有没有有效的方法来完成这个任务?
我知道我可以一个一个地使用git cherry-pick复制提交,但是我能不能一次复制20个呢?假设这20个提交不在一起,并且它们之间还有其他提交我不想复制。
例如,分支A提交
4->5->6->7
分支B
1->2->3->8
我想将4、5、7复制到B中。
2个回答

3
我更倾向于将 rebase --interactive A 放到 B 上,因为 cherry-picking 会引入重复提交,这通常不是一个好主意。请查看“Git cherry pick and datamodel integrity”。
话虽如此,您可以在 git cherry-pick 命令中指定一组提交和多个提交。用空格分隔每个提交,在 gitrevision 中查看如何指定这些提交。

2

您可以将尽可能多的提交传递给 git cherry-pick

$ git checkout B
$ git cherry-pick A~3 A~2 A

我会按照你在例子中描述的做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接