tag remote from changes all git recursion push pull

remote - git push tag



Git recursivo push/pull? (5)

Tengo un repositorio git que contiene otros repositorios git. ¿Hay comandos que empujan y / o tiran recursivamente no solo para el meta-repositorio sino para los sub-repositorios?


Acabo de escribir un script para ejecutar recursivamente en múltiples repositorios git. Puedes agarrarlo desde aquí:

https://github.com/DariuszOstolski/rgit

La idea es exactamente la misma que en clustergit pero la implementación difiere.


Me encuentro en la misma situación cada vez que quiero actualizar mis repositorios de llvm / clang y con un poco de ayuda de bash puedo ''jalarlos'' a cada uno de esta manera:

$> for dir in $(find . -name ".git"); do cd ${dir%/*}; git pull ; cd -; done

Esto "extraerá" todos los repositorios de git que se encuentran en su directorio actual, y probablemente no funcionará si son repositorios simples.



No del todo git pull , pero cerca:

git fetch --recurse-submodules

De los documentos de Git :

--recurse-submodules[=yes|on-demand|no]

Esta opción controla si y bajo qué condiciones se deben recuperar los nuevos compromisos de los submódulos poblados. Se puede usar como una opción booleana para deshabilitar completamente la recursión cuando se establece en no o para reconducir incondicionalmente en todos los submódulos rellenos cuando se establece en sí, que es el valor predeterminado cuando esta opción se usa sin ningún valor. Utilice a petición para recuperar solo en un submódulo poblado cuando el superproyecto recupera un compromiso que actualiza la referencia del submódulo a un compromiso que no está ya en el clon de submódulo local.


Si estás hablando de submódulos, ver cupcakes contesta.

Si está hablando de una jerarquía de carpetas que contiene repositorios de git, puede descargar clustergit , una herramienta que programé: https://github.com/mnagel/clustergit