子模块的添加
添加子模块非常简单,命令如下:
//git submodule add <url> <path>
git submodule add git@github.com:xiaoyeqiannian/alita.git alita
其中,url为子模块的路径,path为该子模块存储的目录路径。
执行成功后,查一下状态
//git status
......
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitmodules
new file: alita
会看到项目中除了子模块外,还增加了.gitmodules文件,打开文件查看,其实就是刚才add的url和path
[submodule "alita"]
path = alita
url = git@github.com:xiaoyeqiannian/alita.git
可以试试,在alita目录下,git操作就是子模块的,在外面操作就主模块的,互不影响,最后提交即完成子模块的添加
git commit -m "add submodule"
子模块的使用
平常用的话主要就是更新子模块的代码
git pull origin master
如果说不用这个子模块了,删除方法如下
//删除子模块目录: rm -rf 子模块目录
rm -rf alita
//删除项目目录下.gitmodules文件中子模块相关条目
vim .gitmodules
//删除配置项中子模块相关条目
vim .git/config
//删除modules下相关目录
rm -rf .git/modules/alita
删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可
执行完成后,再add commit就好了,如果仍然报错,执行如下:
//git rm --cached 子模块名称
git rm --cached alita
完成删除后,提交到仓库即可。
网友评论