# git submodule

我会带着你远行 2021-11-09 00:06 282阅读 0赞

abstract

  • clone 包含子模块的项目
  • 更新子模块

clone 包含子模块的项目

  • 方式一

    git clone url // 默认会包含子模块文件夹,但是子模块中没有文件

进入子模块目录

  1. cd directory // 进如子模块所在目录
  2. git submodule init // 初始化子模块仓库
  3. git submodule update // 检出文件到目录 但是本地还没有分支
  • 方式二(推荐)

    git clone url —recursive // 自动初始化 更新子模块

更新具体的某个子模块

  • 拉取 更新 子模块

    cd submoduleDirectory
    git fetch
    git merge

切换到主项目目录 查看子模块更新内容

  1. cd ..
  2. git diff --submodule

怕麻烦每次输入 --submodule添加一个log

  1. git config --global diff.submodule log
  2. git diff

更新项目所有的子模块

项目主目录下

  1. git submodule update --remote // 默认 master 分支

配置其他分支

  1. git config -f .gitmodules submodule.submoduleName.branch branchName

查看更新内容

  1. git status
  2. git config status.submodulesummary 1
  3. git diff

项目中创建子模块

  1. git submodule add url
  2. git status // 配置文件 .gitmodules
  3. git diff
  4. git diff --submodule
  5. git diff --cached --submodule

子模块上工作

  1. git submodule update // 运行之后文件更新到了目录 但是本地没有默认分支,需要自己建立
  2. git checkout master // 检出master分支
  3. git submodule update --remote --merge //
  4. // 修改模块文件内容之后 提交合并
  5. git submodule update --remote --rebase
  6. // 主项目文件夹下
  7. git push --recurse-submodules=check // 推送前检查子模块 子模块没有推送就返回失败
  8. git push --recurse-submodules=on-demand // 推送主项目前 检查子模块并推送子模块

转载于:https://www.cnblogs.com/rosendolu/p/11294511.html

发表评论

表情:
评论列表 (有 0 条评论,282人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Git Submodule 使用简介

    D瓜哥从去年开始,将所有的笔记都整合到了自建的 Wiki 中。整理分析,确实方便很多。 最近有两个部分,比较独立,自成系统。其中,有一个模块还考虑和其他小伙伴合作来搞。所以,

    相关 git submodule的使用

    开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。今天无意中发现了git的git submodule命令

    相关 git Submodule的使用

    当一个项目需要包含其他支持项目源码时使用的功能,作用是两个项目是独立的,且主项目可以使用另一个支持项目。 git submodule add <submodule_u

    相关 Git Submodule 使用技巧

    有的时候我们会遇到仓库嵌套的问题,即一个 Git 仓库内部还有一个 Git 仓库,这里我们可以使用 Git 的模块化。 现在我拥有一个 git 项目 `blog`,它的内部有