Git子模块管理
子模块(Submodules)
大型项目都是按照子模块开发,子模块又是单独git管理,如果分成多个仓库合并的时候又很麻烦,放一个仓库又会频繁提交冲突,子模块命令就很好解决这个问题,多个git子模块仓库管理,统一组成项目仓库
Git命令
Init
git submodule add <repository> <path>
添加子模块
git submodule init
初始化子模块
Clone
递归方式克隆整个项目,会克隆所有子模块
git clone <repository> --recursive
如果项目已存克隆,可以执行初始化子模块
git submodule update --init
Update
当项目执行git pull
并不会自动同步更新子模块,需要更新所有子模块,保持与项目子模块commit id一致
git submodule update
更新所有子模块,保持与项目远端同步
git submodule update --remote
更新指定子模块,保持与项目远端同步
git submodule update --remote module/<ModuleName>
Foreach
git submodule foreach '<command>'
可以遍历所有子模块执行git指令
举例:清除和重置每个子模块
git submodule foreach 'git reset --hard; git clean -xfd'
Diff
查看子模块本地改动
git diff --submodule
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 二博!
评论