tag - para que es git branch
¿Cómo hacer un submódulo con una CABEZA separada para adjuntarla a la CABEZA real? (1)
Actualización marzo 2013
Git 1.8.2 agregó la posibilidad de rastrear sucursales.
"
git submodule
" comenzó a aprender un nuevo modo para integrarse con la punta de la rama remota (en lugar de integrarse con la confirmación registrada en el gitlink del superproyecto).
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
Véase también el tutorial de Vogella sobre submódulos .
Respuesta original (diciembre 2011)
El submódulo agregado estará en modo HEAD separado.
Sí, un submódulo se trata de hacer referencia a un compromiso específico, y no a una rama.
Asi que:
- Si selecciona una confirmación SHA1 (o una etiqueta), se encuentra en un modo HEAD separado.
- Si selecciona una rama (como lo hizo con la rama
master
del submódulo), puede crear otras confirmaciones encima de esa rama (pero tendrá que volver al repositorio de los padres para comprometer a dicho padre también, para usted). Necesito grabar el nuevo submódulo que creó.
Consulte "La verdadera naturaleza de los submódulos " para obtener más información.
Si siempre quiso la última confirmación de otro repositorio, la forma más sencilla sería combinarlos (por ejemplo, con la fusión de subárbol).
Consulte " Combinar 2 el mismo repositorio GIT " para obtener detalles y referencias.
Cuando agrego un submódulo de Git a un repositorio de Git como este,
git submodule add ssh://server/proj1/ proj1
git submodule init
git submodule update
El submódulo agregado estará en modo HEAD separado . No sé bien qué es eso, pero sé que el submódulo estará vinculado a la revisión específica del repositorio de destino.
No sé cómo funciona realmente, de todos modos parece que allí existe una rama proxy. Resolví esto cambiando a la rama maestra.
cd proj1
git checkout master
Esto cambiará la rama principal actual HEAD maestra, pero esto no actualiza el enlace. Por lo tanto, si vuelve a clonar todo el repositorio, seguirá vinculado a la revisión anterior.
Si quiero vincularlo a la revisión más reciente (HEAD) siempre, ¿qué debo hacer?