自己做实验:

在github上建一个版本库B作为submoule: https://github.com/FrankKuiFang/testGit_submodule, 尝试将该版本库作为另一个库A (https://github.com/FrankKuiFang/TestGit) 的submodule。

1)将A克隆到本地,使用master分支。

执行  git submodule add https://github.com/FrankKuiFang/testGit_submodule.git  subModleHahaha/

注意: subModleHahaha文件夹子必须是当前目录中没有的,如果已经存在会报错,不知为啥。

执行后,目录中会增加一个文件.gitsubmodules,记录了submodule的路径等,另外.git/config文件也被自动更新了,所以下面的init指令不执行也可。

附:.gitsubmodules的内容:

[submodule "subModleHahaha"]
path = subModleHahaha
url = https://github.com/FrankKuiFang/testGit_submodule.git

.git/config中的内容:

[core]
repositoryformatversion =
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://github.com/FrankKuiFang/TestGit.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "subModleHahaha"]
url = https://github.com/FrankKuiFang/testGit_submodule.git
active = true

2)执行git submodule init  (不执行也可以)

3)选择submodule的branch?

4)执行git add, commit将主版本库中新增的文件(.gitsubmodules)以及其他的进行提交。


以下来自《git学习指南》,讲得很详细:

git 版本库之间的依赖 --submodule的更多相关文章

  1. git工作区、暂存区、版本库之间的关系

    区分三者关系 Git最让你迷惑的无非是它里面的各种概念了,如果是刚开始接触Git希望看完本篇介绍之后有一个清晰的认识,笔者认识也有限这里只说说个人对使用Git的感受,说一下它里面的几个最常用的概念的理 ...

  2. Git - Git版本库相关操作

    创建Git版本库 如下命令实现在“E:\GitCode\01_TestGit”路径下,01_TestGit项目的Git版本库. $ cd E: #将当前目录转到E盘下 $ cd GitCode    ...

  3. 萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解

    由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...

  4. redmine整合GIT版本库

    redmine整合GIT版本库   服务器的环境: Ubuntu 11.10 64位 Redmine 1.4.5.stable.10943 git version 1.7.5.4 + gitolite ...

  5. GIT版本库回滚【图文版】

    git 版本库回滚,在实际开发过程中总会遇得到   1. 先找出需要回滚的commitid     git log -3   2. 重置本地版本库到指定commitid, 注意:本地改动将丢失     ...

  6. Git版本库

    创建版本库:git init db 只要用git init db 就可以很容易创建一个空的Git版本库. Git版本库创建好之后,在版本库的目录下有一个.git的子目录中有几项内容,其中注意三项: 1 ...

  7. git 版本库回滚(转载)

    From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html From: http://www.tech126.com ...

  8. hg(Mercurial)版本库迁移到git版本库

    这几天没事干净搞迁移了,迁移完MVC又迁移版本库,还把工作电脑迁移了一下,开始用Win8.1了.这个迁移主要是因为实在不想在工作电脑上又装git又装hg了,点个右键出来一大堆菜单,况且现在git已经成 ...

  9. Git版本库创建(包含文件权限设置 Linux环境下)

    确保git服务已安装成功,如果没有安装git服务查看:Git源码安装 Linux指定安装目录 1.创建git用户,并设置密码.并禁止git用户通过shell登录服务器(注意如果需要安装gitolite ...

随机推荐

  1. NET 已知excel表格前面26个是a到z,27是aa28是ab,以此类推,N是多少

    问题: 已知excel表格前面26个是a到z,27是aa28是ab,以此类推,N是多少 代码: /// <summary> /// 已知excel表格前面26个是a到z,27是aa28是a ...

  2. ASP.NET Core appsettings.json 文件

    ASP.NET Core appsettings.json 文件 在本节中,我们将讨论 ASP.NET Core 项目中appsettings.json文件的重要性. 在以前的 ASP.NET 版本中 ...

  3. NeatUpload .NetFromWork4.0 config配置

    NeatUpload使用---config配置(可进行大文件传输) configuration> 下增加: <configSections> <sectionGroup nam ...

  4. Winform中使用控件的Dock属性设计窗体布局,使不随窗体缩放而改变

    场景 在新建一个Winform窗体后,拖拽控件设置其布局如下 如果只是单纯的这么设计,我们在运行后,如果对窗口进行缩放就会导致如下 所以我们需要在设计页面布局时对控件进行定位设置. 注: 博客主页:h ...

  5. js函数定义及一些说明

    1.javascript定义函数的三种方法一.function语句//这个方法比较常用function fn(){ alert("这是使用function语句进行函数定义");}f ...

  6. Kafka Network层解析,还是有人把它说清楚了

    我们知道kafka是基于TCP连接的.其并没有像很多中间件使用netty作为TCP服务器.而是自己基于Java NIO写了一套. 几个重要类 先看下Kafka Client的网络层架构. 本文主要分析 ...

  7. Flask笔记:文件上传

    文件上传 enctype:在HTML中的form表单中form标签默认是`enctype="application/x-www-form-urlencoded"`,在文件上传时需要 ...

  8. 2019 物易云通java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.物易云通等公司offer,岗位是Java后端开发,因为发展原因最终选择去了物易云通,入职一年时间了,也成为了面 ...

  9. 使用Javamail实现邮件发送功能

    目录 相关的包 编写工具类 环境说明 @(使用Javamail实现邮件发送功能) 相关的包 activation.jar javax.mail.jar mail包建议使用高版本写的包,否则可能会发空白 ...

  10. Google Analytics 学习笔记三 —— GA常用术语

    一.Sessions 1.会话,指定的时间段内在网站上发生的一系列互动,例如一次会话可以是网页浏览.事件或电子商务等.参考Google Analytics(分析)如何定义网络会话 2.会话结束的方式分 ...