Git合并来自另一个分支的两个特定提交之间的更改

时间:2016-03-04 09:58:36

标签: git

我有从A到E的版本。两个分支头,Branch1和Branch2。

E <- Branch2
|
D
|
C
|
B
|
A <- Branch1

现在我想将C和D之间的差异应用于Branch1,这样A和A1之间的差异在C和D之间完全相同。

E <- Branch2
|
D
|
C
|
B A1 <- Branch1
| /
A 

两个问题。

  1. 我该怎么做?我是否制作了补丁文件?或者有没有办法让这个工作在Git中,以便Git知道它有相同的区别?
  2. 其实我确实试过git diff C D > patch.diff制作补丁 然后git apply patch.diff申请,不知怎的,我没有看到 它的区别。

1 个答案:

答案 0 :(得分:2)

我相信你可以从Branch2挑选提交^893207000[0-9]{10}$ 到你的Branch1:

D

这应该起作用的原因是提交git checkout Branch1 git cherry-pick <SHA-1 for commit D> 实质上代表了提交DC之间的差异。您希望在不同的提交上应用此更改集,在本例中,在Branch1上提交D