¿Por qué es la actualización automática no submódulo git en git checkout?
-
19-09-2019 - |
Pregunta
Cuando se cambia ramas con git checkout yo supongo que la mayoría de las veces que se quiere actualizar sus submódulos.
- ¿En qué situación te no ¿Quieres actualizar submódulos después de cambiar?
- ¿Qué se rompería si esto se realiza automáticamente por git checkout?
Se ha actualizado con ejemplo:
- Rama A tiene submódulo S en 3852f1
- Rama B tiene submódulo S en fd72d7
en la rama A, git checkout B dará lugar a una copia de trabajo de la rama B con submódulo S en 3852f1 (con una S modificado). actualización git checkout será submódulo S en fd72d7.
Solución
Creo que los submódulos no actualizar automáticamente está en línea con los objetivos de desarrollo de Git. Git tiene la intención de trabajar en un modo distribuido y no presupone que son incluso capaces de conectarse a un repositorio no local a menos que explícitamente se lo pida. Git no se actualicen automáticamente de un submódulo sería el comportamiento esperado cuando el pensamiento de esa manera.
Con eso se dice, si usted sabe que siempre quiere que los submódulos a ser tirados en y sabes que nunca se ramifican de los submódulos a otro repositorio local, entonces no debería romper nada si de forma automática les fresco después de un pago y envío.
Otros consejos
se añadió git checkout --recurse-submodules
a git 2.13
Esto se menciona en las notas de la versión en: https: // github. com / git / git / commit / e1104a5ee539408b81566066aaa6963cb87d5cd6 # diff-c24776ff22455a30fbb78e378b7df0b0R139
opción submodule.recurse
se añadió a git 2.14
Definir como:
git config --global submodule.recurse true
man git-config
dice:
Especifica si los comandos Recurse en submódulos por defecto. Esto se aplica a todos los comandos que tienen una opción
--recurse-submodules
. El valor predeterminado es falso.
Siento que no actualizar los módulos por defecto es un mal comportamiento por defecto Git que va en contra de las expectativas de la mayoría de los usuarios y limita la adopción de submódulos, realmente deseo que los desarrolladores lo cambiaría.