¿Por qué es la actualización automática no submódulo git en git checkout?

StackOverflow https://stackoverflow.com/questions/1899792

  •  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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top