Tengo un superproyecto git que hace referencia a varios submódulos y estoy tratando de bloquear un flujo de trabajo para que el resto de los miembros de mi proyecto trabajen.
Para esta pregunta, digamos que se llama a mi superproyecto y se llama supery
al submódulo subby
. (Entonces es una simplificación de lo que estoy tratando de hacer ... En realidad no estoy usando las ramas para las versiones, pero pensé que sería más fácil presentarlas como una pregunta).
Mi rama maestra de supery
tiene la etiqueta v1.0
del proyecto git subby
referenciada como un submódulo. La rama de supery
llamado one.one
y cambió la referencia del submódulo para apuntar a la etiqueta v1.1
de subby
.
Puedo trabajar dentro de cada una de estas ramas sin problemas, pero si trato de actualizar la one.one
rama con los cambios de la master
rama, recibo algunos conflictos y no sé cómo resolverlos.
Básicamente, después de correr un git pull . master
tiempo en la subby
rama, parece que crea submódulos adicionales.
Antes de la extracción / fusión, obtengo la respuesta deseada git submodule
de la one.one
rama:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Pero después de la extracción, agrega submódulos adicionales cuando ejecuto git submodule
:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
¿Cómo elimino / ignoro las referencias de submódulos no deseados y confirmo mis conflictos y cambios? ¿O hay algún parámetro que pueda usar con mi original git pull
que ignore mis submódulos?