我想做一些类似于 git rebase 但不折叠并行提交的事情。
假设我有以下提交:
B (bar)
/
A-C-D (foo)
现在我想将 D 引入到分支 foo 中的 C 的更改,并将它们应用于分支 bar 中的 B。所以我最终得到以下结果:
B-E (bar)
/
A-C-D (foo)
提交 B 和 E 之间的差异等于提交 C 和 D 之间的差异。这可能吗?有没有办法在不创建补丁的情况下做到这一点?
我想做一些类似于 git rebase 但不折叠并行提交的事情。
假设我有以下提交:
B (bar)
/
A-C-D (foo)
现在我想将 D 引入到分支 foo 中的 C 的更改,并将它们应用于分支 bar 中的 B。所以我最终得到以下结果:
B-E (bar)
/
A-C-D (foo)
提交 B 和 E 之间的差异等于提交 C 和 D 之间的差异。这可能吗?有没有办法在不创建补丁的情况下做到这一点?
是的:
git checkout -b mergebranch B
git cherry-pick D
就我而言,我需要应用另一个分支的特定提交的更改。我通过像这样采摘它们来做到这一点:
git cherry-pick COMMIT-HASH
。
如果您要从中挑选的分支上的最后一次提交(示例中为 foo)是合并提交,则可以通过使用git cherry-pick branchname~1
来指向特定的提交以挑选作为合并的父级的提交.