2015-09-08 4 views
5

мне нужно выполнить команду:установить конфиг Git рекурсивно для всех подмодулей

git config core.filemode false 

Проблема заключается в том, что у меня есть несколько проектов, по крайней мере, десять подмодулями каждый. По какой-то причине все подмодули имеют значение, равное true, поэтому мне придется удалить/обновить эту конфигурацию вручную.

Есть ли способ сказать Git установить значение конфигурации для всех подмодулей?

Или удалить его из подмодулей, чтобы настройки, содержащие репо, не были перезаписаны?

ответ

6

Вы можете использовать команду git submodule foreach для этого: https://www.kernel.org/pub/software/scm/git/docs/v1.6.1.3/git-submodule.html

Вы можете предоставить произвольную команду оболочки в качестве параметра, в вашем случае что-то вроде этого:

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

Это будет выполнять git config core.filemode false в каждом из подмодули текущего Git repo.

+0

Это может быть применено ко многим вещам, идеальным, спасибо! –

+1

Это не относится к подмодулям глубиной ≥ 2 (подмодули подмодулей ..), поэтому необходимо добавить «-рекурсивный» → 'git submodule foreach --recursive git config core.filemode false'. – wottpal

+0

Спасибо, добавлен в ответ. – nwinkler