git 子模块操作
Posted 洪流之源
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 子模块操作相关的知识,希望对你有一定的参考价值。
1. 添加子模块
git submodule add -b <branch> <url> <path>
git submodule add -b main git@git.xxx.com:demo.git sdk/demo
查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要
git diff --cached
2. 提交子模块
在添加子模块后,需要执行commit进行提交
git commit -m "add submodule"
3. 克隆子模块
克隆项目后,默认子模块目录下无任何内容,需要在项目根目录执行如下命令完成子模块的下载
git submodule init
git submodule update
4. 更新子模块
子模块的维护者提交了更新后,使用子模块的项目必须手动更新才能包含最新的提交。
在项目中,进入到子模块目录下,执行
git pull
更新,执行
git log
查看相应提交。
完成后返回到项目目录,执行
git status
可以看到子模块有待提交的更新,随后可进行添加、提交等操作。
5. 删除子模块
删除子模块较复杂,步骤如下:
1)先把子模块从版本控制系统移除
git rm --cached sdk/demo
2)删除子模块目录及源码
rm -rf sdk/demo
3) 修改 .gitmodules,移除这个 submodule
vi .gitmodules
4)删除配置项中子模块相关条目
vi .git/config
5) 删除模块下的对应子模块目录
rm -rf .git/module/sdk/demo
至此,子模块删除完毕,执行
git status
根据提示操作即可。
以上是关于git 子模块操作的主要内容,如果未能解决你的问题,请参考以下文章