Par Anonyme (non vérifié) , 29 avril 2026

Liste des frustrations

Les submodules sont puissants mais font trébucher les nouveaux utilisateurs à répétition. Cette page catalogue les échecs les plus fréquents et les recettes qui les corrigent.

Répertoire de submodule vide

git submodule update --init --recursive

Éditions en HEAD détaché perdues

cd third_party/lib
git reflog
git checkout -b rescue HEAD@{1}

URL changée upstream

git submodule sync --recursive
git submodule update --init --recursive

Supprimer un submodule

git submodule deinit -f third_party/lib
git rm -f third_party/lib
rm -rf .git/modules/third_party/lib
git commit -m "Supprimer submodule lib"

Contenu modifié mais pas de diff

git submodule update --recursive
# ou
git add third_party/lib && git commit -m "Bump lib"

L'ordre du push importe

git config --global push.recurseSubmodules on-demand

Submodules shallow

git submodule update --init --recursive --depth 1

Erreurs courantes

Traiter les submodules comme des sous-répertoires normaux — ils ne le sont pas, chaque commande Git s'arrête à la frontière à moins que vous passiez --recurse-submodules.