submodules git: rastrear la twig correspondiente en el submodule?

Digamos que tienes un proyecto dividido en un superproyecto y un submodule. Ambos tienen twigs estables (maestras) y twigs de desarrollo. ¿Hay alguna manera de configurar sus submodules para que el superproyecto rastree la twig dev del submodule desde su twig dev y la twig estable del submodule desde su twig estable?

Lo que estoy imaginando es algo como esto en .gitmodules :

[submodule "subproject"] path = subproject url = http://www.github.com/nfirvine/subproject branch = $current_branch_name

(Estoy mirando específicamente el proyecto Ansible , donde su twig stable-1.9 rastrea la twig de devel de sus submodules. Esto parece pedir problemas).

Podría usar los attributes de git para especificar que .gitmodules no se fusiona automáticamente, pero me pregunto si hay algo más inteligente que eso.

Cada compromiso en el superproyecto se asociará con una confirmación específica en el submodule. Los submodules no se actualizan ni siguen automáticamente las twigs: cada vez que desee sincronizar, deberá realizar un cd al directory de submodules, seleccionar la twig de su elección, ejecutar git pull y luego enviar el resultado al superproyecto. Depende de usted tener cada twig en el superproyecto apuntando a una confirmación que a su vez apunte a una confirmación de submodule apropiada; git no hará eso por ti. Y cuando fusionas sucursales, tendrás que orderar esa parte manualmente.

Eso es todo asumiendo que no escribes algunos guiones impresionantes para domar la locura, por supuesto.

Puede hacer que su proyecto principal rastree la confirmación del submodule, pero debe confirmar los cambios.

Por ejemplo, tiene un proyecto principal y un submodule, ambos tienen una twig principal y de desarrollo. Si compromete su subdirectory en su proyecto principal la próxima vez que usted u otro repository ejecute git fetch && git submodule update , tendrá la última confirmación para el submodule.

Tienes que actualizar tu submodule y luego confirmar los cambios, el seguimiento no es automático, ya que puedes tenerlo sin submodules simplemente actualizando ambos repositorys git y jalándolos.