Confirmación automática del hash del submodule git en superproyecto

Cuando se compromete en un submodule de git, necesita ir al superproyecto para hacer un segundo commit, que es el nuevo hash del submodule.

Esto es increíblemente molesto, fácil de olvidar y puede causar todo tipo de problemas si no lo haces.

Lo que quiero hacer es:

  1. Confirmar los cambios en mi submodule
  2. Haga que el hash se confirme automáticamente en el superproyecto
  3. Haga que tanto el submodule como el superproyecto se envíen a su origen remoto ('git push')

¿Cuál es la mejor manera de averiguar si estás en un submodule, dónde está el superproyecto, etc. y automatizar esto?

Tal vez algún tipo de gancho post-commit en el submodule?

¿Has probado git-slave ? Esto es exactamente lo que está diseñado para hacer.

También puedes escribir eso tú mismo. Tenga en count que hay dos opciones en el command git que pueden ser de gran ayuda: --work-tree y --git-dir . Al usarlos, puede actuar en cualquier repository sin abandonar el directory actual.

Luego también está el git submodule foreach --recursive git push .