---
# System prepended metadata

title: Cheatsheet utilisation des Git Submodules

---

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