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,全权管理自己的代码内容。
    上两个图示意下。
    在这里插入图片描述

在这里插入图片描述

完美实现需求。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页