忽略 Git submodule
首先 .gitmodules
文件只是一个初始化配置。当你执行 git submodule init
时,git 会从 .gitmodules
读取信息来操作 .git/
目录下的文件,比如修改 .git/config
以及修改 .git/modules/
目录等操作。
存在一种使用场景,一个很大的项目下有些 submodule 项目不能让某些开发者访问。那么执行 git submodule update
会报错导致中断。
你可以忽略那些没有访问权限的子项目。假设有个名叫 xxx 的 submodule。
那么在 git submodule init
之后,修改 .git/config
文件,修改 active=false
和 ignore=all
即可。即:
[submodule "xxx"]
url = [email protected]:zzz/xxx.git
active = false
ignore = all
之后的 git submodule 操作都会忽略掉 xxx 项目了。
这些配置可以通过 git help config
来找到,比如搜索 submodule.<name>.ignore
。