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 子模块操作的主要内容,如果未能解决你的问题,请参考以下文章

git中submodule子模块的添加使用和删除

Git 子模块:git submodule

git 子模块操作

Git子模块与依赖管理?

Git Submodule管理项目子模块

Git Submodule管理项目子模块