首页 > 解决方案 > Git补丁子模块

问题描述

我有一个项目,其中包含一些作为 git 子模块的依赖项。我为其中一个应用了一个小补丁(大约 6 行更改,没什么大不了的)。

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

标签: git

解决方案


git apply文件指出

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

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

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

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

最好的。


推荐阅读