git submodule的使用

1.在项目中使用Submodule

为当前工程添加submodule,命令如下:
git submodule add 仓库地址 路径
仓库地址:是指子模块仓库地址URL。
路径:指将子模块放置在当前工程下的路径。
注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)
命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。
添加完成以后,再将子模块所在的文件夹添加到工程中即可。

 

2.修改Submodule
进入到子模块中,修改了文件后
提交Submodule的更改内容:git commit -a -m'test submodule'
然后push 到远程服务器: git push
然后再回到父目录,提交Submodule在父项目中的变动:
git commit -m'update submodule'
git push

3.更新Submodule
更新Submodule有两种方式:
在父项目的目录下直接运行:git submodule foreach git pull
在Submodule的目录下面更新:git pull
更新Submodule:git submodule update
如果子模块有因的commitID产生,则需要重新提交到主工程


4.clone Submodule
clone Submodule有两种方式 一种是采用递归的方式clone整个项目,一种是clone父项目,再更新子项目。
采用递归参数 --recursive:git clone https://github.com/zhfei/MyTestWorkProduct.git --recursive
第二种方法先clone父项目,再初始化Submodule:
git clone https://github.com/zhfei/MyTestWorkProduct.git
cd pod-project
git submodule init


5.删除Submodule
git 并不支持直接删除Submodule需要手动删除对应的文件:
cd pod-project

git rm --cached subModule
rm -rf subModule
rm .gitmodules
更改git的配置文件config:
vim .git/config
可以看到Submodule的配置信息:

[submodule "subModule"]
url = https://github.com/zhfei/ZFFlowLayout.git
删除submodule相关的内容,然后提交到远程服务器:

git commit -a -m 'remove subModule submodule'

 

6.切换所以子模块分支

git submodule foreach git checkout develop

 

参考文章:使用Git Submodule管理子模块 https://segmentfault.com/a/1190000003076028
demo地址:https://github.com/zhfei/MyTestWorkProduct.git

转载于:https://www.cnblogs.com/zhou--fei/p/7485661.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值