`
aigo
  • 浏览: 2537805 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

git submodule用法(引用外部仓库)

git 
阅读更多

原文作者:@玄冬Wong

 

如果一个仓库中,引用了几个其他几个仓库,想在更新本次仓库的时候同时更新将其他几个引用仓库,那么可以使用git submodule。

要使用submodule,初始化时貌似只能通过命令行初始化,之后跟新可以通过TortoiseGit客户端来更新。

另外,submodule必须引用整个仓库,无法引用某个仓库的某个子目录

 

添加

具体操作如下:

1,先打开git-bash命令行,然后定位到需要引用的目录位置,然后执行命令,例如:

git submodule add ssh://admin@127.0.0.1:29418/myproject.git bbbb

这条命令意思是,将远程仓库myproject下载到当前目录的bbbb目录下(bbbb会自动新建)。命令在哪个目录下执行,则bbbb目录相对与哪个目录

注:如果已经存在.gitmodules文件了,执行add命令时需要添加参数:-f,否则无法add成功,例如:

git submodule add -f ssh://admin@127.0.0.1:29418/myproject.git bbbb

 

2,以后就可以通过TortoiseGit客户端更新了:Git Sync -》 submodule update



 

删除

如果要删除submodule,看了stackoverflow上的问答,发现删除git submodule挺麻烦的,官方还没一个专门的命令来删除submodule(至少到当前2.x版本仍然存在这个问题),需要手动删除,手动删除分三步:

这里假设之前添加的bbbb submodule位置在xxx/yyy/目录下

1,删除.git/config中的submodule配置:

[submodule "xxx/yyy/bbbb"]

url = ssh://admin@127.0.0.1:29418/myproject.git

 

2,删除.gitmodules中的submodule配置:

[submodule "xxx/yyy/bbbb"]

path = xxx/yyy/bbbb

url = ssh://admin@127.0.0.1:29418/myproject.git

 

3,删除.git/modules/bbbb

 在.git/modules/目录下,存放了所有submodule的仓库,删除对应的仓库

 

删除操作参考:

http://stackoverflow.com/questions/19915679/trouble-with-adding-removing-a-git-submodule

 

  • 大小: 99.5 KB
分享到:
评论

相关推荐

    gitsubmodule:'git submodule' 的补充脚本,提供简单的更新和删除

    安装sudo ./install 卸载sudo ./install --uninstall 用法gitsubmodule [options | options[args]] ###选项选项参数? 描述-h,--help 显示帮助--version 显示版本号-d,--dir repoDir 默认情况下为 repo 提供目录...

    详解git submodule update获取不到最新提交的代码

    主要介绍了详解git submodule update获取不到最新提交的代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    详解git submodule HEAD detached 的问题

    主要介绍了详解git submodule HEAD detached 的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    如何使用git submodule命令部署azure web应用1

    问题:如何使用git submodule命令部署azure web应用现象:使用git进行部署的过程中在执行git submodule add的命令时,如果UR

    git代码clone,submodule

    git代码检出、colone、切换分支,初始化所有子模块,将父模块的代码检出至本地等。

    Git submodule 子模块的管理和使用介绍

    场景: 当你在一个Git 项目上工作时,...在Git 中, 可以用子模块submodule来管理这些项目,submodule允许将一个Git 仓库当作另外一个Git 仓库的子目录。这允许克隆另外一个仓库到你的项目中, 并且保持你的提交相对独立。

    详解git submodule使用以及注意事项

    主要介绍了详解git submodule使用以及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Git Submodule使用完整教程(小结)

    主要介绍了Git Submodule使用完整教程(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git中submodule子模块的添加、使用和删除的示例代码

    主要介绍了git中submodule子模块的添加、使用和删除的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    python git submodule plus

    文章地址:...该python脚本主要解决的问题: 1、拉取工程代码时,子模块指向modules.json指定的branch或tag,避免拉到游离分支。 2、提交代码时取消子模块提交commit的提示。

    moz-git-tools:Mozilla上使用Git的工具

    为了进行此设置,请将此存储库克隆到某个地方,运行git submodule init ,然后运行git submodule init git submodule update命令,然后将您的克隆添加到$ PATH中。 有些命令需要python2 。 如果在Windows上使用...

    Git的submodule功能详解

    项目的版本库在某些情况下需要引用其他版本库中的文件,例如有一套公用的代码库,可以被多个项目调用,这个公用代码库能直接放在某个项目的代码中,而是要独立为一个代码库,那么其他要调用公用的代码库该如何处理?...

    leetcode答案-git_collect_sub:git_collect_sub

    submodule方式,引用已有项目。 项目环境 submodule的使用 参考: 增加submodule git submodule add https://SubModule.git 首次拉取 git clone https://github.com/h4x0r139/git_collect_sub.git git submodule ...

    git的使用方法

    git的使用方法

    Git Submodule管理项目子模块的使用

    主要介绍了Git Submodule管理项目子模块的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git不是内部或外部的命令是的解决.docx

    因为我在学习Git的过程中,买过书,也在⺴⽹网上Google了⼀一堆Git 相关的⽂文章和教程,但令⼈人失望的是,这些教程不是难 得令⼈人发指,就是简单得⼀一笔带 过,或者,只⽀支离破碎地介绍Git的某⼏几个命令,...

    cit:让中国用户使用git从github下载的速度提高1000倍!

    sub git子模块加速,等同于git submodule add get 就是单纯的下载功能 示例用法 clone功能:等效于 git clone cit clone # 示例 cit clone https://github.com/solider245/cit.git 如上图所示,输入一个数字,选择一个...

    AndroidBuildGradleCommonLibrary:这是我用于 Android 项目的 gradle 通用库。 将“git submodule”添加到项目中。 由“build.gradle”中的“apply from”使用

    将“git submodule”添加到项目中。 由“build.gradle”中的“apply from”使用。 设置 git submodule add git@github.com:jakenjarvis/AndroidBuildGradleCommonLibrary.git gradle/commonlibrary git submodule ...

    Git远程仓库的使用

    参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。...该文档很好的讲解了git的远程仓库的使用。

    git 视频教程

    git视频教程.5.6.Git 命令 - git submodule.mp4 git视频教程.6-7.Git 命令 - git show、git shortlog、git describe、git bisect、git blame、git grep.mp4 git视频教程.8.1.Git 命令 - git cherry-pick.mp4 git视频...

Global site tag (gtag.js) - Google Analytics