Les sous-modules Git
Comment ça vous ne connaissez pas les sous-modules (submodules) de Git ? Bien que pouvant être très pratique, ils sont souvent assez méconnus. Pourtant nous avons tous rencontré au moins une fois un cas où ils nous auraient bien rendu services.
N’avez-vous jamais eu envie d’inclure un projet tier au sein du projet sur lequel vous étiez en train de travailler ? Je ne parle pas d’une simple dépendance tierce, mais d’un module ou une bibliothèque que vous développez simultanément. Comment gérez-vous le développement des deux projets distinct qui pourtant doivent se retrouver au sein d’une même application ?
C’est un cas typique d’utilisation des sous-modules Git, car ils vont vous permettre d’inclure un autre dépôt Git au sein de votre projet actuel. Il vous sera alors possible de gérer vos commits sépérement pour chacun des dépôts.
Si vous souhaitez travailler sur une bibliothèque au sein de votre projet courant, vous pouvez initialiser un sous-module Git avec un dépôt externe au travers de la commande :
De ce fait, un nouveau dossier (dossier/destination) sera créé dans votre arborescence. Ce dernier fonctionnant comme un dépôt Git à part entière.
Vous noterez également qu’au travers de cette opération, Git a ajouté un nouveau
fichier de configuration nommé .gitmodules
contenant la description des
sous-modules utilisés par le projet.