¿Cómo haría para agregar un submódulo de Git para una etiqueta o confirmación específica?
¿Cómo haría para agregar un submódulo de Git para una etiqueta o confirmación específica?
Respuestas:
Los repositorios de submódulos permanecen en un estado HEAD separado que apunta a una confirmación específica. Cambiar esa confirmación simplemente implica verificar una etiqueta o confirmación diferente y luego agregar el cambio al repositorio principal.
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
git-status
en el repositorio principal ahora informará un árbol sucio:
# On branch dev [...]
#
# modified: submodule (new commits)
Agregue el directorio del submódulo y comprométase a almacenar el nuevo puntero.
Paso 1: agregue el submódulo
git submodule add git://some_repository.git some_repository
Paso 2: arregla el submódulo a una confirmación en particular
De forma predeterminada, el nuevo submódulo hará un seguimiento de HEAD de la rama maestra, pero NO se actualizará a medida que actualice su repositorio principal. Para cambiar el submódulo para rastrear una confirmación en particular o una rama diferente, cambie el directorio a la carpeta del submódulo y cambie las ramas como lo haría en un repositorio normal.
git checkout -b some_branch origin/some_branch
Ahora el submódulo está fijo en la rama de desarrollo en lugar de HEAD del maestro.
De dos tipos discutiendo: vincule los submódulos de Git a una confirmación o rama en particular .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
pueda tomar una etiqueta o un sha1hash. Solo puede tomar una rama.
-b
el hecho de admitir ramas y no etiquetas o commit shas es una característica, no un error (de hecho, -b
es una abreviatura de --branch
).