新增 git submodule 子模块
文章目录
- 1、基本语法
- 2、添加子模块后的操作
- 3、拉取带有submodule的仓库
git submodule add 是 Git 中用于将另一个 Git 仓库作为子模块添加到当前项目中的命令。
子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录,同时保持它们各自的提交历史独立。
1、基本语法
git submodule add <repository-url> [<path>]
repository-url: 要添加为子模块的 Git 仓库 URL
path (可选): 子模块在项目中的存放路径 (默认为仓库名称)
2、添加子模块后的操作
1.提交更改
git commit -m "Added submodule [repo-name]"
由于"git submodule add"已经把改动放到缓存区,所以执行git commit
.gitmodules 文件又相应改动:
2.推送
git push origin XXX
3、拉取带有submodule的仓库
比平常拉取代码多了 --recurse-submodules
git clone [-b xx_branch] --recurse-submodules <project-url>
注意事项
1、子模块会固定指向特定的提交,不会自动更新
2、要更新子模块,需要进入子模块目录手动拉取更新
3、子模块的更改需要分别在子模块和父项目中提交
4、删除子模块需要多个步骤,不能简单删除目录
子模块是管理项目依赖关系的有用工具,特别适合需要精确控制外部代码版本的情况。