在提交时忽略子模块脏状态

时间:2011-11-17 12:14:12

标签: git git-submodules

我有一个带子模块的存储库。对我来说,这个子模块是只读的,所以我使用submodule.Module.ignore = dirty。

这适用于'git status',但是当我提交时,整个子模块被扫描,并且在git的注释中我可以看到它很脏。

有没有办法避免这种情况?

3 个答案:

答案 0 :(得分:2)

如果您真的不想看到子模块的更改,可以在子模块中使用'*'模式在.git / info / exclude中添加一行。

这将导致子模块始终将自身报告为干净,无论发生了什么变化。

echo "*" >> path/to/submodule/.git/info/exclude

答案 1 :(得分:1)

在提交8f6811efed5451c72aa

中解决了上游问题

答案 2 :(得分:-2)

您可能希望编辑.git/info/exclude文件,以添加要忽略的模式。但对于子模块,这是行不通的。相反,您应该从Git仓库的根目录编辑.git/submodule_foo/info/exclude

这是因为,在较新版本的Git中,路径submodule_foo/.git是一个文件,而不是一个目录。其内容让我们知道子模块的.git文件的位置:

gitdir: ../.git/modules/submodule_foo