Git 合并分支之间的提交

发布于 2024-11-29 10:18:19 字数 331 浏览 0 评论 0原文

我有两个分行。让我们称它们为A&暂时是B。我想有选择地将 20 个提交从 A 复制到 B。有什么有效的方法可以做到这一点吗?

我知道我可以 gitcherry-pick 一次提交一个,但是我可以一次提交 20 个吗?这是假设 20 个提交不在一起,并且它们之间有一些我不想复制的提交。

例子。分支 A 提交

4->5->6->7

分支B

1->2->3->8

我想将 4,5,7 复制到 B。

I've got two branches. Lets call them A & B for now. I want to selectively copy something like 20 commits from A to B. Is there any efficient way to do this?

I know I can git cherry-pick commits one at a time but can I do 20 all at once? This is assuming the 20 commits aren't together and there are commits in between them that I do not want copied over.

Example. Branch A commits

4->5->6->7

Branch B

1->2->3->8

I want to copy 4,5,7 over to B.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

作妖 2024-12-06 10:18:19

我宁愿 rebase --interactive A 到 B,因为择优挑选会引入重复提交,这通常不是一个好主意。
请参阅“Gitcherry pick 和数据模型完整性”。

话虽如此,您可以在 gitcherry-pick 命令中指定提交集和多个提交。用空格分隔每个提交,并查看如何在 git修订

I would rather rebase --interactive A onto B, because cherry-picking introduce duplicate commits, which is generally not a good idea.
See "Git cherry pick and datamodel integrity".

That being said, you can specify sets of commits and multiple commits in a git cherry-pick command. Separate each commits by a space, and look at how specifying said commits in gitrevision.

记忆で 2024-12-06 10:18:19

您可以将任意数量的提交传递给 gitcherry-pick

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

将执行您在示例中描述的操作。

You can pass as many commits as you want to git cherry-pick

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

Will do what you describe in your example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文