-
-
Save pablomp/6139129 to your computer and use it in GitHub Desktop.
git submodule add <url del repositorio git> <ruta/subruta> | |
git submodule init | |
git submodule update | |
git commit -m "<mensaje commit>" | |
Para llevar una sincronización entre las ramas del repositorio central y de todos sus submódulos, crearemos las mismas ramas en el módulo que acabamos de crear
Desde el directorio del nuevo submódulo:
git checkout -b "-nombre branch-"
Si al cambiar de rama principal, el fichero .gitmodules no recoge los cambios del nuevo módulo, tendremos que reinicializarlo:
git rm --cached <ruta/subruta>
git submodule add <ruta/subruta>
git submodule update --init
git commit -m "-mensaje-"
( y así en cada una de las ramas del repositorio principal )
Si de primeras queremos que el nuevo submódulo solamente esté en un nuevo branch, simplemente lo crearemos en ese branch y cuando queramos pasar ese cambio a la rama develop o master, haciendo un merge se traerá el nuevo directorio con el submódulo y el fichero .gitmodules
Se ha visto que el git submodules foreach no da error cuando el submódulo no está registrado.
Cuando el módulo no está registrado en una de las ramas, el directorio si que existirá pero no estará añadido a GIT
Si se hace un checkout a otra rama diferente, donde el directorio del módulo no exista, habrá que hacer un Add y un commit de ese directorio para que lo registre en esa rama.
git checkout -rama-
git add -directorio-
git commit -m "-mensaje-"