用途:作为仓库使用 Git 子模块的“决策与操作”锚点,重点不是罗列所有 git submodule 命令,而是先判断子模块是否为合适边界,再选择一种操作模式,并明确固定提交、分离 HEAD 与托管平台限制。
主要能力:决定边界(对比 submodule/subtree/vendoring/包分发);新增并固定;引导与递归克隆;同步回超级项目记录的提交;推进到被跟踪的远程分支并提交新指针;在子模块内编辑;干净移除;CI 检出(含私有子模块鉴权);托管平台限制(如 GitHub Pages 仅公共子模块、URL 漂移)。
必要用法:首先阅读 references/decision-matrix.md;涉及指针更新、分离 HEAD 或子模块内编辑时读 references/update-and-detached-head.md;CI 引导读 references/ci-and-automation.md;模式命令与托管约束读 references/mode-packets-and-hosted-constraints.md。建议用固定结构输出“Git Submodule Brief”,一次只选一种主模式:boundary decision、add-and-pin、bootstrap-and-clone、sync-to-pinned-commit、advance-tracked-branch、edit-inside-submodule、remove-and-cleanup、ci-checkout、hosted-constraint。
限制:不适用于普通 Git 协作、rebase 或历史修复(改用 git-workflow);依赖应为注册表制品时用 npm-git-install;更广的仓库引导自动化用 deployment-automation;环境或容器搭建用 system-environment-setup。超级项目记录的是提交而非最新分支,更新后可能进入分离 HEAD;托管平台的可见性、URL 或鉴权限制不会因本地克隆正常而消失。官方资料未提供具体命令细节与版本要求。