Maison > outils de développement > git > Comment supprimer un sous-module dans git

Comment supprimer un sous-module dans git

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-05-20 15:23:38
original
4376 Les gens l'ont consulté

Git est un outil de contrôle de version largement utilisé dans le développement de logiciels. Parmi eux, le sous-module Git est un mécanisme spécial qui permet à un projet Git d'être utilisé comme sous-répertoire d'un autre projet Git pour réaliser un développement modulaire. Mais parfois, nous devons supprimer un sous-module Git existant. Cet article explique comment supprimer un sous-module dans Git.

1. Introduction aux sous-modules Git

Le sous-module Git est un mécanisme fourni par les outils Git. Il vous permet d'intégrer un autre projet Git dans un projet Git, soit à partir de votre propre base de code, soit à partir de la base de code de quelqu'un d'autre. À l’aide des sous-modules Git, une base de code peut être divisée en plusieurs bases de sous-codes. Cela vous aide à mieux gérer votre code, à y accéder et à l'utiliser rapidement en cas de besoin.

2. Comment utiliser le sous-module Git

Lorsque vous utilisez le sous-module Git, vous devez utiliser la commande suivante pour ajouter un sous-module :

git submodule add 小模块的URL
Copier après la connexion

Après avoir exécuté cette commande, Git ajoutera un sous-répertoire sous le répertoire du projet en cours, et clonez-y le petit module. Un fichier .gitmodules sera également ajouté à ce sous-répertoire, qui contient l'URL du sous-module. .gitmodules文件,其中包含了子模块的URL。

当你进行代码提交时,子模块的内容不会被直接提交,而是会提交一个指向特定的提交版本的指针。

为了更新一个子模块,需要执行以下命令:

git submodule update --init --recursive
Copier après la connexion

这将拉取子模块的最新代码并更新指针。

三、Git中去掉一个子模块

有时候,你不再需要一个子模块,或者你需要将它替换为一个不同的子模块。在这种情况下,你需要从你的代码库中移除一个子模块。下面是一些移除子模块的方法。

1. 移除.gitmodules文件

.gitmodules文件是子模块添加到父Git库时自动创建的。它位于父Git仓库中,包含了子模块的详细信息,如子模块的名称、路径、URL、引用等。

要移除一个子模块,你需要在.gitmodules文件中删除对应子模块的所有记录。同时,你还需要编辑.git/config文件并删除子模块路径的相关配置。如果你删除.git/config中的子模块相关条目,子模块将被删除。

示例:

假设我的父Git库中包含了一个子模块,路径为submodule。要去掉这个子模块,需要执行以下命令:

git rm --cached submodule
rm .gitmodules
Copier après la connexion

这会从.gitmodules文件中删除子模块的相关记录,并从Git索引中删除子模块内容。但实际上对应的子模块目录仍然存在,此时需要手动删除该目录。

2. 删除子模块所在目录

当你从.gitmodules文件中删除一个子模块的信息后,你需要手动删除子模块目录。通常,子模块目录存储在Git库中,需要执行以下命令来删除目录:

rm -rf submodule
Copier après la connexion

3. 使用submodule命令

如果你不想手动删除子模块信息和目录,可能会考虑使用Git命令来完成这个任务。在Git库中,子模块被视为子树,你可以使用git subtree

Lorsque vous validez du code, le contenu du sous-module ne sera pas validé directement, mais un pointeur vers une version validée spécifique sera soumis.

Pour mettre à jour un sous-module, vous devez exécuter la commande suivante :

git submodule add submodule-url
Copier après la connexion

Cela extraira le dernier code du sous-module et mettra à jour le pointeur.

3. Supprimez un sous-module dans Git

Parfois, vous n'avez plus besoin d'un sous-module ou vous devez le remplacer par un autre sous-module. Dans ce cas, vous devez supprimer un sous-module de votre base de code. Voici quelques façons de supprimer des sous-modules.

1. Supprimez les fichiers .gitmodules🎜🎜 Les fichiers .gitmodules sont automatiquement créés lorsque les sous-modules sont ajoutés au référentiel Git parent. Il se trouve dans le référentiel Git parent et contient des informations détaillées sur le sous-module, telles que le nom, le chemin, l'URL, la référence, etc. du sous-module. 🎜🎜Pour supprimer un sous-module, vous devez supprimer tous les enregistrements du sous-module correspondant dans le fichier .gitmodules. Dans le même temps, vous devez également modifier le fichier .git/config et supprimer la configuration associée du chemin du sous-module. Si vous supprimez les entrées liées au sous-module dans .git/config, le sous-module sera supprimé. 🎜🎜Exemple : 🎜🎜Supposons que mon référentiel Git parent contienne un sous-module avec le sous-module path. Pour supprimer ce sous-module, vous devez exécuter la commande suivante : 🎜
git submodule deinit submodule-path
git rm submodule-path
Copier après la connexion
🎜Cela supprimera les enregistrements pertinents du sous-module du fichier .gitmodules et supprimera le contenu du sous-module de l'index Git. Mais en fait, le répertoire du sous-module correspondant existe toujours et le répertoire doit être supprimé manuellement. 🎜🎜2. Supprimez le répertoire où se trouve le sous-module🎜🎜Lorsque vous supprimez les informations d'un sous-module du fichier .gitmodules, vous devez supprimer manuellement le répertoire du sous-module. Habituellement, le répertoire du sous-module est stocké dans le référentiel Git et vous devez exécuter la commande suivante pour supprimer le répertoire : 🎜rrreee🎜3 Utilisez la commande du sous-module 🎜🎜Si vous ne le souhaitez pas. supprimez manuellement les informations et le répertoire du sous-module, vous pouvez envisager d'utiliser les commandes Git pour accomplir cette tâche. Dans un référentiel Git, un sous-module est considéré comme un sous-arbre et vous pouvez le supprimer à l'aide de la commande git subtree. 🎜🎜Tout d'abord, ajoutez le sous-module au référentiel Git à l'aide de la commande suivante : 🎜rrreee🎜Ensuite, supprimez le sous-module du référentiel Git à l'aide de la commande suivante : 🎜rrreee🎜Cette commande supprimera le répertoire du sous-module et le supprimera du Git parent. référentiel Supprimer les informations pertinentes de l'entrepôt. 🎜🎜4. Résumé🎜🎜Supprimer un sous-module Git n'est pas une affaire compliquée. Vous pouvez utiliser l'une des méthodes ci-dessus pour le supprimer. Cependant, avant de supprimer un sous-module, vous devez comprendre l'impact de la suppression et sauvegarder votre code avant d'effectuer l'opération. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal