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.
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