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

jun*_*er- 30 git rebase

我想做一些类似于git rebase但没有折叠并行提交的东西.

假设我有以下提交:

  B (bar)
 /
A-C-D (foo)
Run Code Online (Sandbox Code Playgroud)

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

  B-E (bar)
 /
A-C-D (foo)
Run Code Online (Sandbox Code Playgroud)

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

cfo*_*ish 40

是:

git checkout -b mergebranch B
git cherry-pick D
Run Code Online (Sandbox Code Playgroud)

  • 不带提交命令的 Cherry-pick:`gitcherry-pick -n <SHA>` (9认同)
  • 详细说明上面的答案:`git checkout -b mergebranch B` 创建一个名为 `mergebranch` 的新分支,使用分支 `B` 作为起点。`gitcherry-pick D` 应用分支 `D` 尖端的提交引入的更改。 (3认同)

Pat*_*ick 5

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