2013-06-26 112 views
34

我有两个有很少类似的历史,但彼此相关的分支。git从两个分支之间的差异创建提交

我想要这两个之间的变化一个 git提交。

文件已被删除,这些补丁之间产生,我想修补,以反映

即:下面的东西,将无法正常工作:

git diff branch_a branch_b -- > patchfile 
git checkout branch_b 
git apply patchfile # deletes and adds are ignored 
git commit # we miss the deletes 

回答

64

一个简单的方法来做到这一点是:

- create and checkout branch tmp at branch_a 
- reset --soft to branch_b 
- commit 

犯下必须拥有所有差异

+1

你不需要一个共同的承诺,甚至不需要事先接触分支。只要尝试在gitk中做 - 当你在新分支上试验时,无论如何你都会有一个自由奔跑。 –

+0

使用git为我工作1.7.9.5 – wischan

+1

你能举个例子吗?谢谢 ! – Charaf

-3

git apply --index。这就是为什么它什么都不做的原因。

此外,请确保您位于根目录中,因此.git必须在那里。

相关问题