迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

Git 中列出子模块

作者:迹忆客 最近更新:2023/03/29 浏览次数:

在本文中,我们将讨论 Git 子模块。我们将介绍它们是什么、子模块的用途和一般工作流程。

Git 子模块使我们可以将一个 repo 保留为另一个 repo 的子目录。简而言之,子模块是在特定时间范围内对其他存储库的引用。


什么是 Git 子模块

如果上面的解释没有把事情弄清楚,这个应该。

Git 子模块可以比作主机存储库中的一条记录,它引用另一个存储库中的提交。通常,子模块是静态的并跟踪指定的提交。

它们不跟踪分支或引用,并且在将更改推送到主机存储库时不会更新。

每次我们在 repo 中创建子模块时,Git 都会创建一个 .gitmodules 文件。该文件包含子模块的元数据和与我们的 repo 的映射。

创建多个子模块将导致多个 gitmodules 文件。


创建一个 Git 子模块

我们必须问自己的第一个问题是什么时候应该创建一个子模块?

以下是一些最好创建 Git 子模块的场景。

  1. 当子项目或外部组件快速变化时,最好将你的代码锁定到特定的提交。如果你预计即将发生的可能会破坏 API 的更改,这同样适用。
  2. 将组件作为供应商依赖项进行跟踪时。当我们不定期更新特定组件时,通常会发生这种情况。
  3. 当我们想在特定时间整合来自第三方的更改时。当你没有频繁更新时,它的效果最好。

子模块的通用 Git 命令

让我们看一下命令行上的一些常见使用选项。

添加 Git 子模块

我们使用 git add submodule 命令在我们的主机存储库中创建一个新的子模块。这是创建 Git 子模块时的典型工作流程。

$ git submodule add <Repo URL>

git submodule add 命令需要一个指向 repo 的 URL 参数。Git 将克隆子模块,我们可以运行 git status 命令查看新的 repo 状态。

让我们看一个例子。让我们在我们的 Delftscopetech 存储库中添加一个子模块。

git 子模块添加命令

我们现在可以运行 git status 命令,如下所示。

$ git status

git status 命令

如上所示,我们现在有两个新文件,.gitmodulesLearn-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 }'

上面的命令将显示存储库中存在的子模块的路径。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类: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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便