git submodule 子模块的使用和说明

git submodule 子模块的使用和说明


一、前景

就在2021/12/29日,我将bc小程序movePackages分包,加入了子模块当中。

因为我不想copy了,每次修改一个地方,就得把整个相关的包copy过来,十分的麻烦,要是以后项目多了,copy起来也费劲,维护起来也费劲。

出于这样的考虑,我在git上面寻找相应的解决方案,最终选择了子模块(submodule)。


二、简介

git子模块可以用于项目包含另一个项目的情况,也就是第三方库或被多个项目引用的基础框架的场景

通俗点来说,就是一个git项目里面使用到了其他git项目,而这其他git项目,就需要用到git子模块,就类似于小程序的分包。

(多项目使用单一模块,子模块可以独立维护)


三、添加子模块

#git submodule add -b [分支名称] --force [子模块项目git地址] [包路径]
git submodule add -b package-bc --force http://leixu@gitlab.lanniuh.com/ai_action_xcx.git movePackages

成功添加后会在项目根目录下新建 .gitmodules 文件


四、删除子模块

当其中某个子模块不需要时,也就是删除,可以使用以下命令:

# 删除子模块, 执行后子模块目录将被删除 
git rm -f movePackages

五、更新子模块

有2种方法可以更新子模块。

  1. 直接进入子模块目录,进行拉取

    cd movePackages
    git pull
    
  2. 在父模块里,进行子模块更新

    git submodule update --remote movePackages
    

    第二种方式默认针对 初始package-bc 分支, 如果需要更新其他分支就要配置, package 为分支名称:

    git config -f .gitmodules submodule.movePackages.branch package
    

六、结论

  • 运动模块进化到运动子模块后,不需要成为copy战士,只需要提交,更新即可。(省力性)
  • 每一个子模块都是独立存在,可独立维护。(独立性)
  • 不但但运动模块可以子模块化,其他模块如果可以通用,也可以子模块化,供其他小程序使用(通用化)
  • 所以,相对来说,一个git项目,可以由多个子模块组合构成。(扩展性)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值