Есть ли какая-то функциональность в git для проверки нескольких репозиториев git в каталоге? - PullRequest
1 голос
/ 30 сентября 2011

У меня есть несколько репозиториев git в каталоге, и мне было интересно, есть ли в git какая-то функциональность для итерации каждого каталога, проверки наличия каких-либо незафиксированных изменений и сообщения об этом мне?

Я мог бы запускать это каждое утро, чтобы убедиться, что все обновлено.

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

Chris

Ответы [ 4 ]

1 голос
/ 30 сентября 2011

Andy прав (в комментариях): если родительский каталог сам является корневым каталогом родительского репо со всеми подкаталогами в качестве подмодулей, то git status может обнаруживать любые изменения в одном из них .

Вы также можете использовать (с подмодулями) git diff

git submodule foreach --recursive git diff --name-status

Без подмодулей см. Решение для сценариев по адресу " git: Найти все неподдерживаемые локальные репозитории в дереве каталогов ".

0 голосов
/ 29 июня 2016

Я не думаю, что git имеет эту сборку, поэтому некоторое время назад я создал скрипт для этого: https://github.com/mnagel/clustergit

clustergit позволяет вам запускать команды git в нескольких репозиториях одновременно.Особенно полезно рекурсивно запускать git status для одной папки.clustergit поддерживает git status, git pull, git push и др.

enter image description here

0 голосов
/ 18 ноября 2015

Добавьте этот псевдоним в файл .gitconfig, и затем вы можете запустить git status-all из родительского каталога, чтобы рекурсивно получить состояние всех репозиториев git.

[alias]
status-all = "!for d in `find . -name \".git\"`; do echo \"\n*** Repository: $d ***\" && git --git-dir=$d --work-tree=$d/.. status; done"
0 голосов
/ 02 октября 2011

Может быть https://metacpan.org/module/rgit может помочь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...