跳至内容
GitTree
储藏室和工作树

管理子模块

子模块是在特定提交时固定在您的存储库中的另一个存储库。 GitTree 列出它们的状态(未初始化、最新、不同提交、冲突)并添加、初始化、更新、打开、编辑和删除它们。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 编辑、同步或删除
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 具有子模块的存储库(一个 .gitmodules 文件),或者您想要添加子模块的存储库。

在哪里可以找到它

  • 左侧面板的 Submodules 部分;右键单击子模块以查看其操作。
  • 命令面板:Add Submodule… 和 Update All Submodules。
行动macOSWindows 和 Linux
命令面板⌘⇧PCtrl+Shift+P

步骤

  1. 查看他们的状态

    展开 Submodules。每个显示 not initialised、up to date、different commit 或 conflicted。

  2. 初始化和更新

    克隆后,选择 Initialise Submodule 和 Update Submodule,或为每一项选择 Update All Submodules。它们在提交存储库记录时被签出。

  3. 在一个里面工作

    选择 Open Submodule in a New Tab 来提交、分支和推送,就像任何存储库一样。

  4. 添加一个

    运行 Add Submodule…:键入 Repository URL、Path in this repository 和(可选)Branch to follow。然后提交新的子模块和 .gitmodules。

预期结果

您的子模块会在正确的提交时检出,并且对它们的更改会像任何文件一样提交到您的存储库中。

编辑、同步或删除

  • Edit Submodule… 更改其 URL 或分支;提交 .gitmodules 来共享它。
  • Sync Submodule URL 将更改后的 URL 从 .gitmodules 复制到您的配置中。
  • Remove Submodule… 删除它;其历史记录保存在 .git/modules 中。

如果出现问题

子模块显示 different commit

它的签出与提交存储库记录不同。 Update Submodule 查看录制的内容;或者提交新的提交(如果您故意移动它)。

问题

子模块是否包含在导出的存档中?

不会。他们的文件夹不包含在存档中(导出存档)。