Git 补丁子模块

Pau*_*l92 5 git

我有一个带有一些依赖项的项目,这些依赖项被作为 git 子模块拉取。我为其中一个应用了一个小补丁(大约 6 行更改,没什么重要的)。

有没有办法在拉取子模块时自动应用此补丁?

小智 2

该git apply文件指出:

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

如果--index指定(显式或隐式),则子模块提交必须与要应用的补丁的索引完全匹配。如果任何子模块被签出,那么这些签出将被完全忽略,即,它们不需要是最新的或干净的并且它们不被更新。

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

因此,如果您git apply与--index标签一起使用,我认为您将能够将补丁应用于子模块。确保运行 agit submodule summary以检查超级项目期望的内容与子模块的实际内容之间是否存在任何差异。如果有的话,做一个git submodule update就可以了!

最好的。