2012-01-06 18 views
6

Cuando se confirma en un submódulo de git, debe ir al superproyecto para realizar un segundo commit, que es el nuevo hash del submódulo.Autocompilación del hash del submódulo git en el superproyecto

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

Lo que quiero hacer es:

  1. confirmar los cambios en mi submódulo
  2. tienen el picadillo cometido de forma automática en el super-proyecto
  3. tienen tanto el submódulo y el super-proyecto llevado a su origen remoto ('git push')

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

Tal vez algún tipo de gancho post-commit en el submódulo?

Respuesta

5

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

También puede crear una secuencia de comandos usted mismo. Tenga en cuenta que hay dos opciones en el comando git que pueden ser de gran ayuda: --work-tree y --git-dir. Al usarlos, puede actuar en cualquier repositorio sin abandonar el directorio actual.

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

+0

extraño, cero votos hacia arriba? +1, al menos. No sé sobre ninguno de estos comandos;) –

Cuestiones relacionadas