Cómo administrar muchos modules en el repository de git

Tengo un proyecto con varios modules, algunos dependen de otros, por ejemplo:

  • X
  • A, which depends on X
  • B, which depends on X

Desarrollar A o B causa muchos cambios en X.

Tengo una twig de desarrollo en git donde estoy desarrollando A y B.

¿Cómo puedo administrar empujando A o B a algún tipo de twig estable?

Quiero decir, tengo una situación como esta:

[Versión real de la twig estable, cometer después de esto están en la twig de desarrollo]

  • Commit1: cambios A y X
  • Commit2: cambia B y X
  • Commit3: cambios A y X

Después de cometer 3 quiero empujar A a estable. Entonces necesito Commit1: A, X, Commit2: X, Commit3: A, X

¿Hay alguna manera de hacer esto? No quiero repositorys adicionales dentro de esto.

Aún necesita un repository adicional, es decir, un "repository principal" que memorizará las confirmaciones exactas de A , B y X
Esto es para lo que son los submodules : A , B y X serían submodules declarados de un repository principal.

usted empujaría sus modificaciones como de costumbre (a la twig de su elección), pero además también comprometería e impulsaría el repository padre, para registrar las confirmaciones de cada submodule.
Consulte " Verdadera naturaleza de los submodules " para get más información sobre esa forma de trabajar.