为所有子模块递归设置Git配置

时间:2015-09-08 09:41:41

标签: git git-config

我需要运行命令:

git config core.filemode false

问题是我有一些项目每个至少有十个子模块。出于某种原因,所有子模块都将该值设置为true,因此我必须手动删除/更新该配置。

有没有办法告诉Git为所有子模块设置配置值?

或者从子模块中删除它,以便不会覆盖包含repo的设置?

1 个答案:

答案 0 :(得分:8)

您可以使用git submodule foreach命令:https://www.kernel.org/pub/software/scm/git/docs/v1.6.1.3/git-submodule.html

您可以提供任意shell命令作为参数,在这种情况下如下:

git submodule foreach --recursive git config core.filemode false

这将在当前Git仓库的每个子模块中执行git config core.filemode false