繁体   English   中英

git cherry-pick 同一主控的两个分支之间所有缺失的提交

[英]git cherry-pick all missing commits between two branches from the same master

我有以下情况:

两个分支是在不同时间从 master 创建的

    T0                T1
----+-----------------+------> master
    |                 |
    |                 |
    +---- BranchA     +---- BranchB

在时间 T0 之后在 BranchA 上进行开发

一些但不是所有这些提交在时间 T0 之后但在时间 T1 之前合并到 master 中

我现在想将 BranchA 中不存在于 BranchB 中的所有提交挑选到 BranchB 中

未经测试,但是

git switch BranchB # Use git checkout BranchB if you prefer.
git cherry-pick ..BranchA

应该管用。 取自https://git-scm.com/docs/git-cherry-pick的示例部分。

而不是樱桃采摘,变基。

首先,将 branchA 变基到 master 上。

这使 branchA 保持最新状态。 毫无疑问,branchA 的哪些部分在 master 中。 毫无疑问,它们是否与 master 兼容。

这将大大简化流程,并让您有机会解决 branchA 和 master 之间的任何冲突,而无需涉及 branchB。

将 branchB 变基到 master 可能也是一个好主意,以确保两个分支都是最新的并且在公共基础上工作。

然后将 branchB 变基到 branchA。 或相反亦然。 或者 cherry pick master..branchA(所有不在 master 中的 branchA 上的提交)到 branchB 上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM