我有一个项目,它有一些依赖项,这些依赖项被作为git子模块提取。我为其中一个应用了一个小补丁(大约6行更改,没有什么重大变化(。
有没有一种方法可以在拉动子模块时自动应用此补丁?
git apply
文档指出:
如果补丁包含对子模块的任何更改,那么git-apply将按如下方式处理这些更改。
如果指定了
--index
(显式或隐式(,则子模块提交必须与要应用的修补程序的索引完全匹配。如果子模块被检出,然后这些检出完全忽略,即不要求它们是最新的或干净的,并且它们不会被更新。如果未指定
--index
,则子模块在补丁中提交被忽略,并且只有相应的子目录被检查并且(如果可能的话(被更新。
因此,如果将git apply
与--index
标记一起使用,我认为您将能够对子模块应用补丁。确保运行一个git submodule summary
来检查超级项目的期望值和子模块的实际值之间是否存在任何差异。如果存在差异,请执行git submodule update
,一切就绪!
最好。