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
masterdel 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?