[英]Will git log --cherry-pick --right-only --no-merges ignore all commits correctly cherry-picked between branches?
[英]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.