我正在为一个项目添加一个松散地基于同一项目的另一个补丁的项目。我首先克隆存储库(A)。然后我应用了我想要使用的补丁作为我添加的"灵感"(B)。我为我的更改做了一个分支(C),然后添加了新的代码(D)。
A-----B
C-----D
我希望我的新添加是分开的"灵感"补丁。我现在如何生成一个补丁文件(即git diff),不包括"灵感"补丁(B或C)?每个补丁本质上都代表一个插件,具有独特的用例,因此将每个补丁纳入项目的过程将是不同的。
您需要将您的更改基于A
而不是C
。
git rebase --onto A C
如果D不依赖于B或C,您应该能够从C->D生成补丁并得到您想要的内容:
git format-patch C..D