我正在努力增加一个项目,该项目松散地基于同一项目的另一个补丁。我首先克隆了存储库( A )。然后我将我想用的补丁作为“灵感”应用于我的补充( B )。我做了一个分支以准备我的更改( C ),然后添加新代码( D )。
A-----B
\
\
C-----D
我希望我的新增功能与“灵感”补丁分开。我现在如何生成不包含“灵感”补丁(B或C)的补丁文件(即git diff)?这些补丁每个都基本上代表一个具有独特用例的插件,因此将每个补丁打包到项目中的过程将会有所不同。
答案 0 :(得分:2)
您需要将更改重新定义为基于A
而不是C
。
git rebase --onto A C
答案 1 :(得分:1)
如果 D 不依赖于 B 或 C ,您应该只能从 C <生成补丁/ strong> - &gt; D 并获得您想要的内容:
git format-patch C..D