在 Git 中删除子模块
本文介绍了如何在 git 中删除子模块。
在开发软件项目时,我们经常会用到我们项目所需的外部框架和库。这些框架和库可能是开源的并保存在 git 仓库中。
我们可能希望将这些外部库的源代码保留在 git 仓库的项目目录中。git 的子模块功能允许我们将这些外部源(它们是单独的 Git 仓库)作为子目录保留在我们的项目 Git 仓库中。
然后我们可能会决定删除这些 Git 子模块,因为它们可能不再与我们的项目相关。
我们现在将用一个例子来解释它。
在 Git 中删除子模块
在处理软件项目时,我们经常需要使用库的外部资源。外部库可能由第三方或不同团队开发。
可以在单独的 Git 仓库中跟踪此类外部库。
我们可以使用 Git 的子模块功能,将这样的外部 Git 仓库合并为我们项目 Git 仓库的子目录。因此,我们可以将另一个仓库克隆到我们的项目中,并保持每个单独的提交。
通常,我们可能会替换或删除此类外部库。我们可能会觉得我们的项目不再需要这样一个外部库。
因此,我们决定从我们的项目 Git 仓库中删除外部库。为此,我们需要删除外部库的 Git 子模块。
假设我们的项目 Git 仓库中有一个子模块 good-ext-lib
。我们现在希望从 Git 仓库和文件系统中删除子模块 good-ext-lib
。
我们需要按如下方式运行 Git 命令来删除子模块。
$ 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
命令 git submodule deninit
取消注册子模块 good-ext-lib
。它从 git/config
文件中删除整个 submodule.$name
部分。此外,它还删除了子模块的工作树。
.git
文件夹中带有 good-ext-lib
子模块路径的命令 rm -rf
从我们项目的 .git/modules
目录中删除子模块目录。
项目目录中带有 good-ext-lib
子模块路径的命令 git rm
删除了超级项目(我们的项目)的跟踪数据。它删除了 gitlink
条目。此外,它消除了 .gitmodules
文件中存在的子模块部分并暂存该文件。
最后,我们需要提交删除 good-ext-lib
子模块,如下所示。
$ git commit -m "removed submodule good-ext-lib"
因此,现在我们已经从 Git 的项目目录中删除了 good-ext-lib
子模块。
因此,我们展示了如何在 Git 中删除子模块。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。
重命名 Git 存储库中的文件和目录
发布时间:2023/04/09 浏览次数:102 分类:Git
-
在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。
在 Git 中取消初始化存储库
发布时间:2023/04/09 浏览次数:187 分类:Git
-
本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。
Git 仓库名称该如何命名
发布时间:2023/04/09 浏览次数:208 分类:Git
-
使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。
配置 Git 以忽略文件模式更改
发布时间:2023/04/09 浏览次数:67 分类:Git
-
本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。
在 Git 中暂存已删除的文件
发布时间:2023/04/09 浏览次数:93 分类:Git
-
本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?
在 Git 中显示冲突文件
发布时间:2023/04/09 浏览次数:139 分类:Git
-
本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。