1. 子模块的添加

git submodule add <url> <path>

其中,url为子模块的路径,path为该子模块存储的目录路径。

比如:

git submodule add https://github.com/openresty/echo-nginx-module.git external/echo-nginx-module

执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径)

root@dispatch:/home/Xlon# git status
On branch feature_ai_20190712
Your branch is up-to-date with 'origin/feature_ai_20190712'.
Changes to be committed:(use "git reset HEAD <file>..." to unstage)modified:   .gitmodulesnew file:   external/echo-nginx-module

git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要

git commit提交即完成子模块的添加
git push 推送到仓库就ok了

2. submodule 的使用

git submodule init

git submodule update

3. .gitmodules 和.git/config

Git在两个地方存储有关子模块的信息。第一个是在一个名为的文件中.gitmodules,该文件被签入git存储库。对此文件的更改将传播到其他存储库。

另一个位置在.git/config

当更新存储库时,您.gitmodules将更新文件的副本,但不会更新您的.git/config文件; 当想要从新网址开始签出时,执行git submodule sync以将新配置从中复制.gitmodules.git/config

重点:

删除Submodule

git 并不支持直接删除Submodule需要手动删除对应的文件:

cd pod-project

git rm --cached pod-library
rm -rf pod-library
rm .gitmodules

更改git的配置文件config:
vim .git/config

可以看到Submodule的配置信息:

[submodule "pod-library"]url = git@github.com:jjz/pod-library.git

删除submodule相关的内容,然后提交到远程服务器:

git commit -a -m 'remove pod-library submodule'

git push branch  , 上传到远程分支

Git submodule子模块相关推荐

  1. git submodule 子模块的管理和使用

    子模块前面有一个-,说明子模块文件还未检入(空文件夹). 初始化子模块 $ git submodule init Submodule 'assets' (https://github.com/maon ...

  2. git submodule子模块管理

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个 ...

  3. Git submodule子模块的使用

    1. Git submodule 1.1. submodule常用命令 在项目中的.gitmodules文件中查看当前submodule设置 git clone <repository> ...

  4. git submodule获取子模块

    从github上获取工程,经常会出现依赖其它github上代码的情况,这时如果每一个都手动下载,实在太麻烦了.其实git给我们提供了相互引用的功能,可以在工程中直接引入其它的代码库,这样可以保证每次使 ...

  5. Git Submodule管理项目子模块

    使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...

  6. 【git】Git Submodule管理项目子模块

    文章目录 1.概述 2. 使用场景 3. 如何使用 3.1. 创建带子模块的版本库 3.2. 克隆带子模块的版本库 3.3. 修改子模块 3.4. 更新子模块 3.5. 删除子模块 4.删除子模块 5 ...

  7. git submodule add子模块的添加,--recurse-submodules递归克隆子项目

      git submodule add 可将其他仓库作为本仓库的子模块,并保持父项目和子项目相互独立.面对比较复杂的项目时,经常会用到. 语法 将URL的仓库作为本仓库的子模块.执行后,git会将UR ...

  8. git中submodule子模块的添加、使用和删除

    背景 项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率. 使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可. 本文主要讲解子模块相关的基础命令,详细 ...

  9. git下载子模块命令git clone --recursive和git submodule update --init

    目录 方法一:git clone --recursive 方法二:git submodule update --init 有时github上的工程可能会包含一些子模块,例如 这时候如果你只是用下面的命 ...

最新文章

  1. NFS应用场景及环境搭建
  2. java 验证码 源码_java 验证码生成源码
  3. php无法完成文件上传,php – Fine Uploader无法上传文件
  4. 深入理解WEB请求过程
  5. python中e-r图_E-R图基本步骤
  6. android config.mk,android编译分析之10—config.mk
  7. IE图标消失 HTML文件图标变为未知图标的解决方法
  8. Springboot 之 Hibernate自动建表(Mysql)
  9. 数据结构图之一(基本概念,存储结构,两种遍历)
  10. 【推荐论文】基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)...
  11. 智能手机操作系统安全性简评
  12. java构造方法编写_Java开发 Debug运行+类的编写+构造方法+方法重载+this【学习篇6】...
  13. 26、python密度聚类方法(DBSCAN密度聚类)
  14. 俄文输入法_如何在手机上添加俄语输入法
  15. NOIP2015 普及组第四题 推销员
  16. 基于递归神经网络(RNN)的口语理解(SLU)
  17. 印章识别--笛卡尔坐标系转换成极坐标系
  18. 获取米家设备token
  19. Zabbx6.0(学习笔记)
  20. python 小写金额转化为大写金额

热门文章

  1. 使用CoreText实现图文混排
  2. POJ1523:SPF(无向连通图求割点)
  3. Requirements of an SAP system administrator
  4. 牛客 - 阔力梯的树(树上启发式合并)
  5. POJ - 1091 跳蚤(容斥原理+数论)
  6. 安卓入门系列-08四大组件之Activity
  7. HDU4607(求树中的最长链)
  8. HDU1066--高精度求阶乘最后非零位
  9. string基本字符系列容器
  10. PostgreSQL学习笔记2之模式