# Cheatsheet utilisation des Git Submodules
## Intégrer un repo Git à un autre repo Git
```bash
# Clonage du repo 'git_url' dans le dossier 'nom_du_dossier' et création d'un fichier .gitmodules
git add submodule <git_url> <nom_du_dossier>
# Ajout du fichier .gitmodules et du dossier cloné
git add *
# Commit avec tout ça
git commit -m "Intégration du submodule"
```
## Cloner un repo existant qui contient un submodule
```bash
git clone <git_url> --recurse-submodules
```
## Pousser des changements faits dans le submodule
```bash
cd <nom_du_dossier>
# Commit des modifs du submodule
git add *
git commit -m "Ajouté les changements au Git module"
cd ..
# Commit des modifs du repo parent
git add *
git commit -m "Mis à jour la version du submodule"
```
## Tirer des changements faits dans le submodule
```bash
cd <nom_du_dossier>
git pull --recurse-submodules # si ça n'est pas concluant, on peut aussi tenter cette commande: `git submodule update --remote`. On peut ajouter --force si besoin.
cd ..
git add *
git commit -m "Mis à jour le submodule"
```