Comment fonctionne le sous-module Git?

Comment fonctionne le sous-module Git?
Le sous-module Git est un sous-répertoire ou un composant GIT d'un autre hôte, Git Repository, qui se réfère simplement à un engagement spécifique dans un autre référentiel GIT externe. Les sous-modules sont statiques et ne suivent que les validations particulières. Ils ne suivent pas les branches ou les références GIT et ne sont pas mis à jour automatiquement avec le référentiel hôte. Les sous-modules Git vous permettent de permettre au référentiel GIT d'incorporer et de suivre l'historique de la version de tous les code externes. Lorsqu'un utilisateur comprend un sous-module dans un référentiel GIT, un nouveau fichier avec le nom .Les gitmodules créeront.

Dans cet article, nous vous donnerons une idée de la façon d'utiliser les sous-modules Git dans un repo Git externe dans le système Linux.

Conditions préalables

Assurez-vous que Git est déjà installé sur votre système.

Pour vérifier l'installation de GIT, tapez la commande suivante sur votre terminal:

$ git -version


Nous avons mis en œuvre toutes les commandes liées aux sous-modules GIT sur la distribution CentOS 8 Linux dont nous discuterons en détail dans les étapes mentionnées ci-dessous:

Quand les sous-modules Git doivent être utilisés?

Pour la gestion stricte des versions des dépendances externes de votre projet, vous pouvez utiliser les fonctionnalités de sous-modules Git. Voici des scénarios pour savoir où vous pouvez utiliser les sous-modules Git:

  • Lorsqu'un sous-projet ou un composant externe change rapidement ou que les modifications à venir peuvent briser l'API configurée, alors, dans cette situation, verrouiller le code pour un engagement particulier pour la sécurité de votre projet.
  • Lorsque vous avez un projet spécifique avec un tiers et qu'ils souhaitent intégrer une nouvelle version à l'intérieur de votre projet.

Ajouter un nouveau sous-module GIT

La commande Git Subdodule ADD est utilisée pour ajouter un nouveau sous-module à un référentiel GIT existant. Ouvrez le terminal du panneau de barre latérale gauche dans le système CentOS 8. En utilisant l'exemple suivant, nous pouvons mieux expliquer, dans lequel nous créerons un nouveau référentiel GIT vide, puis ajouter des sous-modules Git.

$ mkdir git-submodule-demo
$ cd git-submodule-démo /
$ git init


Dans les commandes susmentionnées, nous avons d'abord créé un nouveau répertoire avec le nom «git-submodule-démo» et naviguer dans ce répertoire. Nous avons initialisé ce répertoire en tant que nouveau référentiel GIT.

Maintenant, ajoutez un nouveau sous-module Git en utilisant la commande 'Git Submodule Add' dans laquelle nous avons utilisé l'URL comme paramètre qui fait référence à un référentiel GIT particulier. Nous avons ajouté un sous-mo-module «AwesomeLibrary» dans le référentiel nouvellement créé ci-dessus.

$ git sous-module Ajouter https: // bitbucket.org / jaredw / awesomelibrary


Git clonera ce sous-module. Une fois le processus de sous-module terminé, vous pouvez vérifier l'état actuel de votre référentiel GIT en exécutant la commande suivante:

$ statut git


Lorsque vous exécutez la commande ci-dessus sur le terminal CentOS 8, vous remarquerez que deux nouveaux fichiers sont dans ce référentiel. L'un est '.gitmodules 'et' awesomelibrary '. Maintenant, vous pouvez engager ces fichiers dans le référentiel GIT d'origine en exécutant les commandes «Git Add» et «Git Commit».

$ git add .gitmodules awesomelibrary /
$ git commit -m "Submodule ajouté"

Sous-modules de clone git

Clone les sous-modules à l'aide de la commande GSIT Clone. La commande ci-dessous créera des répertoires contenant des sous-modules, mais vous ne pouvez pas voir le fichier à l'intérieur.

$ git clone https: // bitbucket.org / jaredw / awesomelibrary / sous-modules


Il y a deux commandes supplémentaires utilisées pour créer des fichiers de sous-module. L'un est le '.sous-module git init 'que les copies'.Les gitmodules «mappaient dans le local».Fichier git / config '. La commande «Git Submodule Update» met à jour toutes les données du projet sous-module et vérifie les modifications du projet parent.

$ git submodule init
MIS à jour du sous-module $ git


Maintenant, nous allons naviguer dans le répertoire du sous-module AwesomeLibrary. Nous allons créer un fichier texte avec le nom 'new_awesome.txt 'en ajoutant du contenu.

$ CD AwesomeLibrary /
$ git Checkout -b new_awesome
$ echo "nouveau fichier génial"> new_awesome.SMS
$ statut git


Ici, nous ajouterons et engagerons des modifications à ce nouveau fichier au sous-module.

$ git ajouter new_awesome.SMS
$ git commit -m "Ajout d'un nouveau fichier texte génial"


Maintenant, accédez au référentiel parent et passez en revue le statut du référentiel parent.

$ cd…
$ statut git


Comme vous pouvez le voir, «AwesomeLibrary» a été modifié.

Conclusion

Nous avons vu dans cet article qu'en utilisant le sous-module GIT, vous pouvez facilement utiliser le repo Git comme outil de gestion externe des dépendances. Parcourez les utilisations et les inconvénients des sous-modules Git avant d'implémenter cette fonction GIT, puis d'adopter.