Git补丁子模块

5

我有一个项目,其中有一些依赖关系,它们作为git子模块被拉取。我有一个需要应用的小补丁(大约6行更改,没有重大变化)。

是否有一种方法可以在拉取子模块时自动应用此补丁?


1
这个回答是否解决了你的问题?能否从父项目中修补 Git 中的子模块? - Fildor
1个回答

2
“git apply”文档中说明如下

如果补丁包含对子模块的任何更改,则git apply将按以下方式处理这些更改。

如果指定了--index(明确或隐式),则子模块提交必须与索引完全匹配才能应用补丁。如果有任何检出的子模块,则完全忽略这些检出,即它们不需要是最新的或干净的,并且不会更新。

如果未指定--index,则忽略补丁中的子模块提交,仅检查相应子目录的存在或缺失并(如果可能)进行更新。

因此,如果您使用带有--index标记的git apply,则可以将补丁应用于子模块。请确保运行git submodule summary以检查超级项目期望的内容与子模块实际情况之间是否存在差异。如果有任何差异,请运行git submodule update即可!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接