Git submodule : inclure un depot dans un autre
git submodule te permet d'inclure un depot Git dans un autre. Ideal pour partager du code entre projets ou integrer des librairies externes.
C'est quoi git submodule ?
git submodule permet d'integrer un depot Git dans un autre comme une dependance versionnee. Le projet parent pointe vers un commit precis du submodule.
C'est comme avoir un livre dans un livre : le projet parent contient une reference au submodule, mais chacun a son propre historique et ses propres commits.
Syntaxe de git submodule
git submodule add url cheminAjouter un submodule
git submodule update --initInitialiser et telecharger
git submodule update --remoteMettre a jour vers le dernier commit
Git submodule en pratique
Ajouter, cloner et mettre a jour des submodules.
Ajouter un submodule
Cloner et mettre a jour
Commandes submodule essentielles
git submodule add urlAjouter un nouveau submodule
git submodule update --initInitialiser apres un clone
git submodule update --remoteMettre a jour vers le dernier commit
git submodule statusVoir l'etat des submodules
git submodule foreach cmdExecuter une commande dans chaque submodule
git submodule deinit cheminDeinitialiser un submodule
Erreurs courantes avec git submodule
Dossier vide apres un clone
Les submodules ne sont pas telecharges par defaut. Utilise git clone --recurse-submodules ou git submodule update --init apres le clone.
Oublier de commiter la mise a jour
Apres un git submodule update --remote, la nouvelle reference doit etre commitee dans le projet parent. Sinon, les autres developpeurs ne verront pas la mise a jour.
Difficulte a supprimer un submodule
La suppression necessite plusieurs etapes. Pense a deinit, rm, et nettoyer .gitmodules. C'est une des operations les plus confuses de Git.
Fait partie du guide Git avance
GitQuest est conçu par Anaïs (nouvelle fenêtre), développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.
Questions sur git submodule
Maitrise les projets complexes avec GitQuest
Apprends a gerer les submodules et les projets multi-depots.
Commencer les enquetes