Mise à jour du sous-module dans Git

Abdul Jabbar 21 mars 2022
Mise à jour du sous-module dans Git

Les sous-modules sont un moyen de conserver un référentiel Git en tant que sous-répertoire dans une branche actuelle. Les sous-modules sont généralement importés d’un référentiel tiers. Par exemple, un grand projet peut avoir un sous-module qui contient une bibliothèque.

Le submodule peut être utilisé dans n’importe quelle partie du projet. Il peut avoir ses sous-modules et ainsi de suite, selon les besoins. Ce sont des référentiels Git fixés dans un référentiel Git parent à un chemin particulier dans le répertoire de travail du référentiel parent.

Pour développer un sous-module, nous utilisons git submodule init pour créer un fichier .gitmodules dans le répertoire racine du projet, qui contient une liste de sous-modules que nous avons l’intention d’utiliser dans les tâches à venir. Ensuite, nous utiliserons la commande git submodule update pour extraire notre sous-module.

Pour mettre à jour un sous-module, nous devons spécifier le chemin du sous-module dans le référentiel parent. Pour accéder à un sous-module, il faut toujours spécifier le chemin relatif au dépôt parent. Le chemin du sous-module est donc relatif au projet.

Pour éviter d’avoir à spécifier le chemin du sous-module, nous pouvons définir le chemin du sous-module dans le fichier gitmodules. Le fichier gitmodules est un fichier texte brut à la racine du référentiel. Le fichier gitmodules définit le mappage entre le référentiel parent du référentiel actuel et le sous-module.

Mettre à jour les sous-modules Git

Nous allons vous montrer comment mettre à jour les sous-modules Git dans notre espace de travail avec les commits récents sur le serveur.

  • Cloner le référentiel distant, si ce n’est pas déjà fait.
  • Publier une commande -remote de mise à jour du sous-module git.
  • Liste tous les nouveaux fichiers extraits du référentiel vers l’index Git.
  • Exécute un commit git.
  • Repousser à l’origine.

La commande git submodule a un paramètre appelé --update qui peut être utilisé pour obtenir le dernier code du sous-module.

git submodule --update 
SomeSubmodule $ git submodule --sync
SomeSubmodule $ git submodule update --init 

Nous pouvons mettre à jour le sous-module vers le dernier commit avec le paramètre update. Pour éviter beaucoup de vérifications compliquées et de commandes push, il est beaucoup plus simple de créer un alias rapide pour la commande de mise à jour du sous-module.

git submodule update --remote --merge

La commande ci-dessus met à jour tous les sous-modules, garantissant que l’arborescence de travail est propre et synchronisée avec la branche distante. Pour éviter d’avoir un commit de fusion à chaque fois, utilisez le drapeau -merge pour fusionner les mises à jour. Utiliser les submodules Git est comme une arme à double tranchant car cela peut rendre notre vie de développement beaucoup plus facile, mais cela peut aussi rendre notre vie un peu plus difficile si nous ne savons pas comment cela fonctionne. Plus nous travaillerons avec, plus nous apprendrons comment ils fonctionnent, et donc pourrons les exploiter à notre avantage.

Auteur: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Article connexe - Git Submodule