git submodule

一、 github 建立 submodule

  • github 上建立我们的 submodule。

在这里插入图片描述


二、本地仓库建立

  • 建立本地仓库。

在这里插入图片描述

  • git submodule add https://github.com/
  • 使用该命令,可以在本次仓库添加子模块(submodule)。
  • 注意:子模块本质上是另一个代码仓库,对 submodule 的修改,只能在 submodule 对应的代码仓库修改和提交,然后由父代码仓库(即我们的 git_test 代码仓库)更新它下面的 submodule 最新状态。

在这里插入图片描述

  • 父代码仓库提交 commit:更新子模块的状态。

在这里插入图片描述

  • 同时,我们注意到:git 版本库中也增加了对 submodule 模块的 git 对象库的管理。

在这里插入图片描述

  • 现在,我们在 github 上创建我们的远程仓库。
  • 然后将本地仓库的代码推送到远程仓库。

在这里插入图片描述
在这里插入图片描述

  • 然后我们回到远程仓库,可以看到
  • .gitmodules 文件记录了当前仓库的所有子模块的文件名和 url 地址。
  • 点击子模块的文件名,可以跳转到 submodule 对应的代码仓库。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 我们删除本地仓库,然后重新从远程仓库拉取代码。
    在这里插入图片描述
  • 我们发现,从远程仓库直接拉取下来的代码,缺少了 .git/modules/git_submodules 目录。

在这里插入图片描述

  • 父代码仓库的 git_submodules/ 目录为空。

在这里插入图片描述


三、子模块需要手动拉取

1. submodele 是空的目录

git submodule update --init --recursive

在这里插入图片描述


2. submodele 是非空的目录

  • 起初父代码仓库的本地 submodule 和远程仓库的 submodule 是一致的。

在这里插入图片描述

  • 当远程仓库的 submodule 进行了新的提交,父代码仓库的 submodule 不会自动更新。

在这里插入图片描述

在这里插入图片描述

  • 使用命令:git submodule update --remote 进行 submudule 的更新。

在这里插入图片描述

  • 接着,父代码仓库还要提交 submodule 的更新。

在这里插入图片描述

  • 最后,将本地仓库上传到远程仓库。

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值