转自:http://webfrogs.me/2013/03/20/git-submodule/

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

添加

为当前工程添加submodule,命令如下:

git submodule add 仓库地址 路径

其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。 
注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)

命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。添加完成以后,再将子模块所在的文件夹添加到工程中即可。

删除

submodule的删除稍微麻烦点:首先,要在“.gitmodules”文件中删除相应配置信息。然后,执行“git rm –cached ”命令将子模块所在的文件从git中删除。

下载的工程带有submodule

当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:

git submodule update --init --recursive

即可将子模块内容下载下来后工程才不会缺少相应的文件。

git submodule 的使用相关推荐

  1. git submodule 使用场景汇总

    文章目录 1. 前言 2. 基础命令介绍 2.1 场景一:已有仓库,添加一个子模块 2.2 场景二:已有仓库,添加一个子模块的特定分支 2.3 场景三:已有仓库,更新子模块内容 2.4 场景四:已有仓 ...

  2. git submodule 删除及更新URL

    git submodule 删除及更新URL 转载 2016年03月08日 10:27:21 删除一个submodule 1.删除 .gitsubmodule中对应submodule的条目 2.删除 ...

  3. git submodule获取子模块

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

  4. 使用git submodule

    git submodule 引用 $ git help submodule $ git submodule add https://github.com/aditya-grover/node2vec. ...

  5. Git Submodule管理项目子模块

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

  6. Git submodule子模块

    1. 子模块的添加 git submodule add <url> <path> 其中,url为子模块的路径,path为该子模块存储的目录路径. 比如: git submodu ...

  7. Git submodule的使用

    最近在做一个上传的客户端,上传的部分由后端同学以 SDK 的方式提供,因此该 SDK 是在一个独立的仓库,那么对于客户端该如何方便的集成该 SDK 呢?每次 SDK 更新把代码拷贝到客户端仓库?把 S ...

  8. 玩转GIT系列之【git submodule update出错提示子模组未对路径注册】

    今天在github上找到了一个很有意思的项目,叫做listen1[https://github.com/listen1],它是一个开源的项目,可以从各大音乐网站自动化搜索歌曲.避免某个特定的网站因为版 ...

  9. Git submodule 的笔记

    这次不造轮子,写写文章. file 最近想把自己的 blog 整理到 github 上,但由于其中依赖了一些主题以及插件,这时候 git submodule 就能很好的处理这种情况了. submodu ...

最新文章

  1. 微信小程序云开发图片上传完整代码附效果图
  2. IDEA 在线翻译插件
  3. Java面试常被问到的题目+解答
  4. spring cloud config注意点(疑问)
  5. python端口被占用_端口被占用怎么解决
  6. CRM Web Client UI异步搜索介绍
  7. JAVA可检测异常和非检测异常
  8. python 全局变量使用报错没有定义_python跨文件使用全局变量的实现
  9. MySQL 优化之 EXPLAIN 关键字
  10. 电脑模拟收银机_模拟超市的收银系统
  11. 供应链三道防线(读书笔记)2(共4)
  12. 19-Spring Security资源服务器配置详解
  13. 童年十大经典玩耍游戏
  14. 风流霸主姜小白-第1章 姜太公劳苦功高始建齐 周幽王荒淫无度葬西周
  15. Windows10下安装Elasticsearch8.1.1过程遇到的问题
  16. 什么是Iterator
  17. 停止无效学习,4种高效学习方法,快速提升自己
  18. 服务器丢包的原因及解决方法
  19. 精品基于PHP实现的剧影评|剧评影评系统
  20. [Nikon D80]月季

热门文章

  1. lintcode:排颜色 II
  2. ant警告 “warning: 'includeantruntime' was not set”解决方法
  3. Open Asset Import Library
  4. idea设置java scala等代码自动换行
  5. 【收藏】搭载nfs是客户端新建操作出现read only file system
  6. k8s pod的创建流程图示
  7. bat批处理启动QQ、微信、企业微信
  8. jvm调优:jmap -histo的使用
  9. Java Object类中的finalize()方法
  10. Java代码示例: 使用reflections工具类获取某接口下所有的实现类