Git 中列出子模块
在本文中,我们将讨论 Git 子模块。我们将介绍它们是什么、子模块的用途和一般工作流程。
Git 子模块使我们可以将一个 repo 保留为另一个 repo 的子目录。简而言之,子模块是在特定时间范围内对其他存储库的引用。
什么是 Git 子模块
如果上面的解释没有把事情弄清楚,这个应该。
Git 子模块可以比作主机存储库中的一条记录,它引用另一个存储库中的提交。通常,子模块是静态的并跟踪指定的提交。
它们不跟踪分支或引用,并且在将更改推送到主机存储库时不会更新。
每次我们在 repo 中创建子模块时,Git 都会创建一个 .gitmodules
文件。该文件包含子模块的元数据和与我们的 repo 的映射。
创建多个子模块将导致多个 gitmodules
文件。
创建一个 Git 子模块
我们必须问自己的第一个问题是什么时候应该创建一个子模块?
以下是一些最好创建 Git 子模块的场景。
- 当子项目或外部组件快速变化时,最好将你的代码锁定到特定的提交。如果你预计即将发生的可能会破坏 API 的更改,这同样适用。
- 将组件作为供应商依赖项进行跟踪时。当我们不定期更新特定组件时,通常会发生这种情况。
- 当我们想在特定时间整合来自第三方的更改时。当你没有频繁更新时,它的效果最好。
子模块的通用 Git 命令
让我们看一下命令行上的一些常见使用选项。
添加 Git 子模块
我们使用 git add submodule
命令在我们的主机存储库中创建一个新的子模块。这是创建 Git 子模块时的典型工作流程。
$ git submodule add <Repo URL>
git submodule add
命令需要一个指向 repo 的 URL 参数。Git 将克隆子模块,我们可以运行 git status
命令查看新的 repo 状态。
让我们看一个例子。让我们在我们的 Delftscopetech
存储库中添加一个子模块。
我们现在可以运行 git status
命令,如下所示。
$ git status
如上所示,我们现在有两个新文件,.gitmodules
和 Learn-Submodules
。我们可以添加文件并提交更改。
git submodule init
我们运行 git submodule init
命令将子模块的映射从 .gitmodules
文件复制到我们的本地配置文件中。当我们的存储库中有多个子模块时,它就会出现。
在 Git 中列出子模块
git submodule init
命令依赖于 .gitmodules
文件。我们可以通过依赖同一个文件来查看所有子模块的列表。
首先,我们需要解析文件。我们跑:
$ git config --file .gitmodules --name-only --get-regexp path
然后我们可以运行:
$ git config --file .gitmodules --get-regexp path | awk '{ print $2 }'
上面的命令将显示存储库中存在的子模块的路径。
相关文章
如何在 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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。