git将更改从一个提交应用到另一个分支

git将更改从一个提交应用到另一个分支,git,rebase,cherry-pick,git-cherry-pick,Git,Rebase,Cherry Pick,Git Cherry Pick,我想做一些类似于git rebase的事情,但不会破坏并行提交 假设我有以下承诺: B (bar) / A-C-D (foo) 现在我想将D在分支foo中引入C的更改应用于分支栏中的B。因此,我最终得出以下结论: B-E (bar) / A-C-D (foo) 其中提交B和E之间的差异等于提交C和D之间的差异。这可能吗?有没有不创建修补程序的方法?有: git checkout -b mergebranch B git cherry-pick D 如果要从中挑选的分支(示例中为

我想做一些类似于git rebase的事情,但不会破坏并行提交

假设我有以下承诺:

  B (bar)
 /
A-C-D (foo)
现在我想将D在分支foo中引入C的更改应用于分支栏中的B。因此,我最终得出以下结论:

  B-E (bar)
 /
A-C-D (foo)
其中提交B和E之间的差异等于提交C和D之间的差异。这可能吗?有没有不创建修补程序的方法?

有:

git checkout -b mergebranch B
git cherry-pick D

如果要从中挑选的分支(示例中为foo)上的最后一次提交是合并提交,通过使用git cherry pick branchname~1获取合并父级的提交,可以指向cherry pick的特定提交。在我的情况下,我需要应用另一个分支的特定提交更改。我是这样摘的:
git cherry pick COMMIT-HASH

根据上面的答案:
git checkout-b mergebranch b
使用branch
b
作为起点创建一个名为
mergebranch
的新分支
git cherry pick D
应用提交在分支顶端引入的更改
D
。注意:您需要位于要应用提交更改的分支中。