45

我想做一些类似于 git rebase 但不折叠并行提交的事情。

假设我有以下提交:

  B (bar)
 /
A-C-D (foo)

现在我想将 D 引入到分支 foo 中的 C 的更改,并将它们应用于分支 bar 中的 B。所以我最终得到以下结果:

  B-E (bar)
 /
A-C-D (foo)

提交 B 和 E 之间的差异等于提交 C 和 D 之间的差异。这可能吗?有没有办法在不创建补丁的情况下做到这一点?

4

3 回答 3

52

是的:

git checkout -b mergebranch B
git cherry-pick D
于 2013-06-12T16:10:12.060 回答
7

就我而言,我需要应用另一个分支的特定提交的更改。我通过像这样采摘它们来做到这一点: git cherry-pick COMMIT-HASH

于 2019-04-17T12:33:27.360 回答
2

如果您要从中挑选的分支上的最后一次提交(示例中为 foo)是合并提交,则可以通过使用git cherry-pick branchname~1来指向特定的提交以挑选作为合并的父级的提交.

于 2014-02-05T01:25:55.047 回答