GIT子模块容易踩的坑

首先进入项目目录,并执行命令 git submodule add 【空格】【子项目代码仓库地址或目录】【空格】 【子模块存放目录】,如图:

通过以上命令成功将远程代码仓库中的子项目作为子模块存放在了当前项目下的addons/hz_moduletest这个目录里,接下来执行下图所示操作将项目更新推送到GIT服务器上,注意看当前位置是项目根目录:

接下来是重点,当修改了子模块中的内容后,如果想推送最新代码到GIT服务器需要分别推送子模块和整个项目,如图所示,同样注意图中当前目录的变化:

上图中需要注意的是,这里不要git add .

到此,GIT子模块用法说完了,下面说说坑,就是CLONE带有子模块的项目时,子模块里的内容是空的(无论对子模块是否有权限),如果有权限可以按下图操作将子模块的内容从远程代码仓库获取:

这样子模块里的内容就获取到了,如果要在这个子模块里修改或增加文件一定要用git commit -a =>git push这种步骤推送;按照传统的git add . =>git commit -m => git push推送会失败的,很可能会遇到这种游离状态:

一旦出现上图这种问题,可以按如下步骤解决:

首先,从游离状态回到主分支

然后git commit -a =>git push

当然,最后要回到项目根目录按传统方式推送项目到GIT。

END,这个坑跳进去我也是好久没出来,最后还是公司强哥帮忙解决的,自己查了些资料搞明白了,希望对大家有帮助,最后感谢我强哥!

转载于:https://www.cnblogs.com/icodes/p/8481591.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值