git submodule简单使用
- 最近项目中使用到git submodule,说明一下,git submodule使用后类似于npm包管理中新增了一个第三方库,在多项目中可以直接引用,但在实际开发应用过程中不会减少代码量。
- git submodule可以独立运行,执行git add,commit,push等操作,可以建master/dev等多分支进行管理。
- 基础命令总结如下
//1、基础命令
//说明:父项目根文件名为project
cd project
git submodule add http:/yxmBetter/project.git lib //说明:git submodule add [(-b) 分支名] [submodule的远程URL仓库地址] [本地地址],下载远程submodule默认分支(一般为master)到本地lib文件夹,可以增加‘-b 分支名’来指定分支
git status //说明:查看生成状态,新增了lib文件夹,.gitmodules文件,.git/config中新增内容,.git/modules/新增lib文件夹
cd lib
git pull //若远程仓库submodule有更新,需切换到具体子仓库lib下进行git pull来更新
git submodule foreach git pull //一次性更新所有submodule库已有的更新,不用逐步到各个具体文件夹下更新
//2、删除步骤总结,记得全部才能删除干净。。。
//a. 删除.git/config文件夹中如下内容
[submodule 'lib']
url = 'http:/yxmBetter/project.git lib'
branch = 'dev' //如果有这一行
//b. 删除.git/modules/下刚刚创建的lib文件夹
//c. 删除.gitmodules对应的条目
//d. 执行git rm --cached [modulename] 命令
//e. 删除submodule模块内容
//3. 如果在project对应dev分支下使用submodule的dev分支,该如何使用?
// 因为project的dev分支是从master下获取来的,所以会获取到之前master分支的submodule相关内容,如果要获取submodule的dev分支内容,
// 建议先按上述步骤删除master分支的submodule所有内容后再重新使用基础命令更新
// 如果您有更好的使用方式,欢迎留言讨论。
- 欢迎底下评论总结更多......
来源:oschina
链接:https://my.oschina.net/yxmBetter/blog/4305149