Liste des submodules de Git
- Qu’est-ce qu’un sous-module Git
- Créer un sous-module Git
- Commandes Git courantes pour les sous-modules
- Lister les sous-modules dans Git
Dans cet article, nous aborderons les sous-modules Git. Nous couvrirons ce qu’ils sont, le but des sous-modules et le flux de travail général.
Les sous-modules Git nous permettent de conserver un référentiel en tant que sous-répertoire d’un autre référentiel. En termes plus simples, les sous-modules sont une référence à d’autres référentiels à certains moments.
Qu’est-ce qu’un sous-module Git
Si l’explication ci-dessus n’a pas clarifié les choses, celle-ci devrait le faire.
Un sous-module Git peut être assimilé à un enregistrement dans un référentiel hôte qui fait référence à un commit dans un autre référentiel. En général, les sous-modules sont statiques et suivent les commits spécifiés.
Ils ne suivent pas les branches ou les références et ne sont pas mis à jour lorsque des modifications sont transmises au référentiel hôte.
Git crée un fichier .gitmodules
à chaque fois que nous créons un sous-module dans notre repo. Le fichier contient les métadonnées et le mappage du sous-module avec notre dépôt.
La création de plusieurs sous-modules entraînera la création de plusieurs fichiers gitmodules
.
Créer un sous-module Git
La première question que nous devons nous poser est de savoir quand créer un sous-module ?
Voici quelques scénarios dans lesquels il est préférable de créer un sous-module Git.
- Lorsqu’un sous-projet ou un composant externe change rapidement, il est préférable de verrouiller votre code sur un commit spécifique. Il en va de même si vous anticipez des changements à venir susceptibles de casser l’API.
- Lors du suivi des composants en tant que dépendances du fournisseur. Cela se produit généralement lorsque nous ne mettons pas à jour régulièrement un composant spécifique.
- Lorsque nous voulons intégrer des changements d’un tiers à un moment précis. Cela fonctionne mieux lorsque vous n’avez pas de mises à jour fréquentes.
Commandes Git courantes pour les sous-modules
Examinons quelques options d’utilisation courantes sur notre ligne de commande.
Ajouter un sous-module Git
Nous utilisons la commande git add submodule
pour créer un nouveau sous-module dans notre référentiel hôte. Voici le workflow typique lors de la création de sous-modules Git.
$ git submodule add <Repo URL>
La commande git submodule add
nécessite un paramètre d’URL qui pointe vers un référentiel. Git clonera le sous-module et nous pourrons exécuter la commande git status
pour voir le nouvel état du dépôt.
Prenons un exemple. Ajoutons un sous-module à notre référentiel Delftscopetech
.
Nous pouvons maintenant exécuter la commande git status
comme indiqué ci-dessous.
$ git status
Comme vu ci-dessus, nous avons maintenant deux nouveaux fichiers, .gitmodules
et Learn-Submodules
. Nous pouvons ajouter les fichiers et valider les modifications.
git submodule init
Nous exécutons la commande git submodule init
pour copier le mappage de notre sous-module du fichier .gitmodules
dans notre fichier de configuration local. Il entre en jeu lorsque nous avons plusieurs sous-modules dans notre référentiel.
Lister les sous-modules dans Git
La commande git submodule init
s’appuie sur le fichier .gitmodules
. Nous pouvons afficher une liste de tous les sous-modules en nous appuyant sur le même fichier.
Tout d’abord, nous devrons analyser le fichier. Nous courrons:
$ git config --file .gitmodules --name-only --get-regexp path
Ensuite, nous pouvons exécuter :
$ git config --file .gitmodules --get-regexp path | awk '{ print $2 }'
La commande ci-dessus affichera le chemin vers les sous-modules présents dans votre référentiel.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn