¿Hay alguna funcionalidad en git para verificar múltiples repositorys git bajo un directory?

Tengo varios repositorys git bajo un directory, y me preguntaba si había alguna funcionalidad en git para iterar cada directory, verifica si hay algún cambio no confirmado y me los informs.

Podría ejecutar esto todas las mañanas para asegurarme de que todo esté actualizado.

Es solo que en un día cualquiera, trabajaré con varios repositorys y me olvidaré de comprometer mis cambios, lo que puede causar conflictos cuando me doy count mucho más tarde de que los cometeré.

Chris

Andy tiene razón (en los comentarios): si el directory principal es en sí mismo el directory raíz de un repository padre, con todos los subdirectorys como submodules, entonces el estado de git puede detectar cualquier cambio en uno de ellos.

También puedes usar (con submodules) git diff

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

Sin los submodules, consulte una solución de scripts en " git: busque todos los repositorys locas sin censura en un tree de directorys ".

Tal vez https://metacpan.org/module/rgit podría ayudar 🙂

Agregue este alias a su file .gitconfig y luego puede ejecutar el git status-all desde un directory principal para get el estado de todos los repositorys de git recursivamente.

 [alias] status-all = "!for d in `find . -name \".git\"`; do echo \"\n*** Repository: $d ***\" && git --git-dir=$d --work-tree=$d/.. status; done" 

No creo que git tenga esta versión incorporada, así que hace un time creé un script para hacer esto: https://github.com/mnagel/clustergit

clustergit permite ejecutar commands git en múltiples repositorys a la vez. Es especialmente útil ejecutar el estado de git recursivamente en una carpeta. clustergit admite el git status , git pull , git push y más.

enter image description here