初始
git 项目中,可以使用以下命令为项目添加submodule
1 | git submodule add -b branch_name git@github.com:javasgl/xxx.git module_path |
执行以上命令后,会在当前项目下生成一个.gitmodules 文件,内容如下
1 | [submodule "module_path"] |
同时也将修改 .git/config文件1
2
3[submodule "module_path"]
url = git@github.com:javasgl/xxx.git
active = true
此时,执行以下命令即可从远程拉取相关代码到submodule中:1
2
3git submodule update --init
// 可以使用 git submodule deinit 重新初始化
执行之后,会在 .git/modules/module_path/ 下看到 submodeule相关的代码
1 | .git/modules |
变更
有时候,对于已经添加了submodule的项目,如果想更换 submodule 的地址,那个这就比较麻烦,目前git并没有直接提供相关命令,需要进行一系列的手工操作
简单记录如下,备查
比如,想把 submodule 的地址换为 github.com/xxx/xxx.git
将
submodule移除git版本控制1
git rm module_path
移除
.git/config.gitmodules中的配置删除
.git/modules/下相关代码1
rm .git/modules/module_path
执行之前的初始化,可以重新
add新的submodule1
git submodule add github.com/xxx/xxx.git xxx_path