git: gestionar múltiples controles remotos en un submodule

Mi equipo usa un proyecto alojado github disponible públicamente como un submodule en nuestro proyecto principal. Nos gustaría administrar nuestros propios parches contra ese proyecto, sin presionar en sentido ascendente, pero no podemos compartir esos parches a less que tengamos un espejo donde empujemos nuestra twig privada.

Suponiendo que tenemos el espejo, nuestro submodule necesita dos controles remotos: uno donde recuperamos los cambios ascendentes y otro en el que impulsamos fusiones con nuestra twig de parche. ¿Cómo podemos almacenar la información sobre los controles remotos con el submodule (o con el superproyecto), para que cada miembro del equipo pueda realizar una actualización de forma git add remote upstream ...github...project.git , sin tener que git add remote upstream ...github...project.git .

Tenemos la intención de resolver el problema escribiendo un script de shell para automatizar el process y un file para almacenar los controles remotos, pero ¿hay alguna forma de hacerlo?

Puede estar relacionado, pero no veo una solución adecuada: git add remote en el submodule

El ansatz actual es este:

  • Para cada submodule que necesita administrarse de la manera descrita anteriormente, submodule/.gitupstream file de submodule/.gitupstream almacene la url
  • Con un simple script de shell:
    • actualizar el control remoto ascendente del submodule desde este file
    • git search aguas arriba
    • git checkout twig de parche de submodule conocida (posiblemente del submodule .gitmodules … twig)
    • git merge upstream / master (o cualquiera que sea refspec)

Luego manualmente:

  • origen de git push (el espejo que contiene nuestra twig de parche)
  • comprometer el submodule cambiado e insert el superproyecto

Sin embargo, me gustaría ver una mejor solución incorporada.