管理子模块
子模块是在特定提交时固定在您的存储库中的另一个存储库。 GitTree 列出它们的状态(未初始化、最新、不同提交、冲突)并添加、初始化、更新、打开、编辑和删除它们。
免费已更新
免费使用 GitTree:登录后的所有本地 Git 功能。
开始之前
- 具有子模块的存储库(一个
.gitmodules文件),或者您想要添加子模块的存储库。
在哪里可以找到它
- 左侧面板的 Submodules 部分;右键单击子模块以查看其操作。
- 命令面板:Add Submodule… 和 Update All Submodules。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| 命令面板 | ⌘⇧P | Ctrl+Shift+P |
步骤
查看他们的状态
展开 Submodules。每个显示 not initialised、up to date、different commit 或 conflicted。
初始化和更新
克隆后,选择 Initialise Submodule 和 Update Submodule,或为每一项选择 Update All Submodules。它们在提交存储库记录时被签出。
在一个里面工作
选择 Open Submodule in a New Tab 来提交、分支和推送,就像任何存储库一样。
添加一个
运行 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 查看录制的内容;或者提交新的提交(如果您故意移动它)。
问题
子模块是否包含在导出的存档中?
不会。他们的文件夹不包含在存档中(导出存档)。