Git子模块
Git 子模块
Git 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录,它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。
示例代码使用的值如下:
- 主仓库路径:github.com/base.git
- 子模块仓库:github.com/common.git
- 子模块在主仓库路径:src/common
子模块操作
添加子模块
在主仓库执行 git submoudle add <url> <repo_name>
,执行后会在主仓库下创建一个 repo_name
目录存放子项目;并会创建一个 .git
隐藏文件
1 | git submoudle add github.com/common.git src/common |
添加子模块后,主仓库会增加一个 .gitmodules
文件,记录子模块信息
1 | # .gitmodules 文件 |
查看子模块
1 | git submodule |
初始化子模块配置
1 | git submodule init |
更新子模块
1 | # 更新全部子模块 |
提交子模块代码
子模块的默认分支不是 master ,进入目录后需要先切换分支,再修改提交代码
1 | cd src/common |
删除子模块
执行命令后,会删除 src/common
文件夹和修改 .gitmodules
文件
1 | git rm src/common |
本地子模块相关文件(非必须删除):
- 删除
.git/config
文件中相关配置 - 删除
.git/modules/src/common
文件夹
克隆包含子模块的主项目
在克隆主项目时,会包含子模块目录,但目录中没有任何文件,此时需要初始化子模块配置,然后再更新子模块,才会获取到对应的文件
1 | git clone github.com/base.git |
- 本文标题:Git子模块
- 本文作者:HaoHao Guo
- 创建时间:2022-09-24 19:25:51
- 本文链接:https://gwzone.cn/articles/2022/09/24/git子模块/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论