Actualice múltiples repositorys de Git: producción mejorada

Encontré este command en línea que me permite estar en un directory padre y pasará por cada directory y actualizará el repository de git en cada uno. También puedo hacer esto para get el estado, etc. Me preguntaba si había una forma de limpiar la salida y que sea más legible para el usuario.

ls | xargs -I{} git -C {} pull 

Esto funciona bien pero solo me da la respuesta. Me gustaría que muestre el nombre del repository y luego la respuesta, etc. ¿Hay alguna manera de obligarlo a hacer esto fácilmente? ¿Con suerte usando un alias de alguna manera?

¿Hace esto lo que quieres?

 for dir in * ; do if [ \! -L ${dir} -a -d ${dir}/.git ] ; then (cd ${dir} ; echo ":::: ${dir} ::::"; git pull) ; fi ; done 

Pasa por cada elemento en su directory actual, y si el elemento es la parte superior de un repository de git, imprimirá el nombre del directory y realizará una git pull . Puede agregar cualquier otro command que desee realizar en cada repository después de la git pull .

EDITAR:

puede alias al agregarlo a ~./bash_aliases como una function de shell:

 git-pull-all () { #command here } 

O bien, si por alguna razón desea agregarlo como un alias git en lugar de un alias bash, ¡puede anteponer el nombre del command ! cuando lo creas:

 git config --global alias.pull-all '!COMMAND_HERE'