git的submodule用法

是个很不错的功能,简单实用。
有需求才会有探索,先说说我是怎么需要这个功能的。


  1. 有开源项目A,我git clone 下来了。
  2. 我想建个项目B,依赖这个项目A,但我并不准备改A的代码,我只想改我的B项目。
  3. 如果我fork一个A项目,那么作者的A项目更新我就可能落后或错过什么; 如果我不fork,那么我改了B项目代码我又无权push代码到网上,因为这不是A项目的一部分。
  4. 于是我就想到,如果能这样就好了:A出自一个repository,B出自另一个repository。于是就想到了submodule。
  5. 果然是。

用法与用量:

tortoise Git截图为例:

  1. git clone A项目,比如得到a文件夹。
  2. 在gitee等处创建一个B项目,知道项目地址。
  3. 进入a文件夹,选择Submodule Add如下图
    在这里插入图片描述
  4. 在新弹出的对话框里clone B项目,如下图。其中注意绿框处的path,决定了相对路径 。可以自己决定。
    在这里插入图片描述
  5. 之后,就可以回到上层,pull A,直接取到作者的最新内容。
  6. 然后可以进入内层,pull submodule B 或者push,全权管理自己的代码内容。
    上两个图示意下。
    在这里插入图片描述

在这里插入图片描述

完美实现需求。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值