Как сделать рекурсивный «git checkout»?

У меня есть родительский каталог, и внутри этого каталога есть несколько подкаталогов, содержащих каталоги .git, состоящие из объектов.

Как запустить git checkout -f. рекурсивно для каждого подкаталога?

Всего 2 ответа


Может использовать следующую команду внутри родительского каталога

find . -mindepth 1 -maxdepth 1 -type d -print -exec git -C {} checkout -f ;

maxdepth 1 - выглядит только для поддиректорий type d - выглядит только для типа каталога


git не поддерживает то, что вы описали.

Однако git-репозиторий может включать другой репозиторий с использованием подмодулей . Как только вы настроите свои подмодули, один клон / check git также обновит эти подмодули.

Чтобы добавить подмодули в репозиторий git верхнего уровня:

git submodule add <submodule git repo>

Подмодули Git управляются через файл .gitmodules (в текстовом формате), который привязан к вашему репозиторию git верхнего уровня.


Есть идеи?

10000