Supprimer un sous-module dans Git

Azhar Bashir Khan 16 février 2024
Supprimer un sous-module dans Git

Ce tutoriel montre comment supprimer un sous-module dans git.

Lors du développement d’un projet logiciel, nous utilisons souvent des frameworks et des bibliothèques externes requis par notre projet. Ces frameworks et bibliothèques peuvent être open-source et conservés dans un référentiel git.

Nous voudrons peut-être conserver le code source de ces bibliothèques externes dans notre répertoire de projet dans notre référentiel git. La fonctionnalité de sous-modules de git nous permet de conserver ces sources externes, qui sont des référentiels Git distincts, en tant que sous-répertoires dans notre référentiel Git de projet.

Nous pouvons alors décider de supprimer ces sous-modules Git car ceux-ci peuvent ne plus être pertinents pour notre projet.

Nous allons maintenant l’expliquer avec un exemple.

Supprimer un sous-module dans Git

Lorsque nous travaillons sur des projets logiciels, nous avons souvent besoin d’utiliser des sources externes des bibliothèques. Les bibliothèques externes peuvent être développées par un tiers ou une équipe différente.

Ces bibliothèques externes peuvent être suivies dans un référentiel Git séparé.

Nous pouvons utiliser la fonctionnalité de sous-module de Git pour incorporer un tel référentiel Git externe en tant que sous-répertoire du référentiel Git de notre projet. Ainsi, nous pouvons ensuite cloner un autre référentiel dans notre projet et conserver les commits de chacun séparément.

En règle générale, nous pouvons remplacer ou supprimer ces bibliothèques externes. Nous pouvons penser que notre projet n’a plus besoin d’une telle bibliothèque externe.

Ainsi, nous décidons alors de supprimer la bibliothèque externe de notre référentiel Git de projet. Pour cela, nous devons supprimer le sous-module Git de la bibliothèque externe.

Supposons que nous ayons un sous-module good-ext-lib présent dans notre référentiel Git de projet. Nous voulons maintenant que le sous-module good-ext-lib soit supprimé du référentiel Git et du système de fichiers.

Nous devons exécuter les commandes Git comme suit pour supprimer le sous-module.

$ git submodule deinit -f path/to/good-ext-lib

$ rm -rf .git/modules/path/to/good-ext-lib

$ git rm -f path/to/good-ext-lib

La commande git submodule deninit désenregistre le sous-module good-ext-lib. Il supprime toute la section submodule.$name du fichier git/config. En outre, il supprime l’arbre de travail du sous-module.

La commande rm -rf avec le chemin du sous-module good-ext-lib dans le dossier .git supprime le répertoire du sous-module du répertoire .git/modules de notre projet.

La commande git rm avec le chemin du sous-module good-ext-lib dans le répertoire du projet supprime les données de suivi du super projet (notre projet). Il supprime l’entrée gitlink. Aussi, il élimine la section submodule présente dans le fichier .gitmodules et met en scène le fichier.

Enfin, nous devons valider la suppression du sous-module good-ext-lib comme suit.

$ git commit -m "removed submodule good-ext-lib"

Ainsi, nous avons maintenant supprimé le sous-module good-ext-lib du répertoire du projet dans Git.

Ainsi, nous avons montré comment supprimer un sous-module dans Git.

Pour plus d’informations, s’il vous plaît visitez -

  1. git-submodule
  2. Tutoriel du submodule Git

Article connexe - Git Submodule