Skip to content

Instantly share code, notes, and snippets.

@pablomp
Last active December 20, 2015 13:29
Show Gist options
  • Save pablomp/6139129 to your computer and use it in GitHub Desktop.
Save pablomp/6139129 to your computer and use it in GitHub Desktop.
Clonar/crear un submódulo en GIT
git submodule add <url del repositorio git> <ruta/subruta>
git submodule init
git submodule update
git commit -m "<mensaje commit>"
git push
@pablomp
Copy link
Author

pablomp commented Aug 2, 2013

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-"

@pablomp
Copy link
Author

pablomp commented Aug 2, 2013

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 )

@pablomp
Copy link
Author

pablomp commented Aug 2, 2013

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment