Git 子模块 - submodule】的更多相关文章

有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另一个. Git 通过子模块来解决这个问题. 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录. 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立. 开始使用子模块 git submodule add remotePath [localPath] 克隆含有子模块的项目 gi…
原文地址: http://www.cnblogs.com/kelsen/p/5918672.html 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另一个. Git 通过子模块来解决这个问题. 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录. 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立. 开始使用子模块 git…
添加submodule: git submodule add 子模块git地址  把这个module放置的文件夹(这个文件夹须事先不存在) git submodule add http://xxx.xxx myModule push到远程: 执行上一步会生成一个.gitmodules隐藏文件,和module放置的文件夹 git add . git commit -m 'add module' git push 更新submodule: cd 放置module的文件夹  &&  git pu…
Git子模块(submodule)简介 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目.也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的.这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个. 子模块允许你将一个 Git 仓库当作另外一个Git仓库的子目录.这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立. Git子模块用法 添加一个子模块 首先你要把外部的仓库克隆到你的子目录中. 假设你想把 pacman…
imtianx 2018年03月08日阅读 2057 Git 子模块:git submodule 工作中,可能会遇到在一个Git仓库 中添加 其他 Git 仓库的场景.比如,在项目中引用第三方库.或者在模块化开发中,某些公共的模块是需要单独维护的,使用单独的仓库比较方便,但是在项目中需要引用,就会出现这样的场景.这里使用 Git 的 git submodule 命令为一个 git 项目 添加 子git项目. 可以使用 git submodule --help 查看所有相关命令. 为了方便说明,这…
Git 子模块操作相关的一些命令备忘: # 当使用git clone下来的工程中带有submodule时,初始的时候 submodule的内容并不会自动下载下来的,需执行如下命令: git submodule update --init --recursive (注意,此时会递归下载第三方模块)# 当使用git clone下来的工程中带有submodule时,使用下列命令不会递归下载第三方模块:git submodule update --init git 添加子模块: # git submod…
git中submodule子模块的添加.使用和删除   原文链接:https://blog.csdn.net/guotianqing/article/details/82391665背景项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率. 使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可. 本文主要讲解子模块相关的基础命令,详细使用请参考man page. 子模块的添加添加子模块非常简单,命令如下: git submodule add <url>…
GitHub真是个开源大宝库,不只能学习代码,还能学习git的使用! 最近在研究Off-the-Record-iOS项目(https://github.com/chrisballinger/Off-the-Record-iOS)时,学习实践了gitsubmodule的用法! 这个项目中有一个Submodules文件夹,包含了该项目所引用到的其他GitHub上的开源项目,最开始没注意到,直接Download ZIP拿下来的,发现XCode项目中一堆红色文件名,才发现原来还有很多依赖项目,仔细看了一…
/********************************************************************************* * git get submodule after clone * 说明: * 在git clone之后获取子模块的. * * 2018-1-3 深圳 南山平山村 曾剑锋 ********************************************************************************/…
jenkins+Git子模块自动拉取代码 添加Git子模块 先克隆想要添加子模块的仓库git clone ssh://git@ip:port/user/project.git,这个是主目录. 进入仓库,添加子模块git submodule add ssh://git@ip:port/user/project.git,和主仓库不同. ls查看,会有.gitmodules和子模块的项目名. 将生成的文件和目录push到主仓库中. 克隆有子模块的仓库 添加过子模块的仓库,如果想重新克隆,和普通克隆一样…
本文以 skywalking-rocketbot-ui子模块合并到 skywalking 为例,手把手教你如何把 Git 子模块更新到主项目中去. 首先,把fork的skywalking项目克隆到本地: OneMore MINGW64 /d/code $ git clone https://github.com/heihaozi/skywalking.git skywalking Cloning into 'skywalking'... remote: Enumerating objects:…
前言: 前面分析了APP的现状以及业务组件化的一些探讨(Android业务组件化之现状分析与探讨),以及通信的桥梁Scheme的使用(Android业务组件化之URL Scheme使用),今天重点来聊下子模块SubModule的拆分以及它们之间的路由Router实现.本篇涉及的相关知识比较多,阅读本篇之间需要大致了解一下Java的注解(Java学习之注解Annotation实现原理).Java的动态代理机制(Java设计模式之代理模式(Proxy))等.业务组件化是一个循序渐进的过程,一开始很难…
为了方便各个子模块独立开发,或使用第三方不断更新的仓库,可以使用子模块来引用. 子模块对应的源码是子模块仓库的克隆. git submodule 与 subtree对比 git submodule 允许其他的仓库指定以一个commit嵌入仓库的子目录 仓库 clone下来需要 init 和 update 会产 .gitmodule 文件记录 submodule 版本信息 git submodule 删除起来比较费劲 git subtree 避免以上问题 管理和更新流程比较方便 git subtr…
如下项目有多个标红的子模块 1.首先进入每个子模块目录,init初始化子模块仓库,然后提交远程. 2.在每个子目录都初始化好仓库后,进入lv-qggz主目录,只初始化该仓库,然后依次添加子模块的仓库地址, 命令如下:$ git submodule add http://127.0.0.1/SH/lv-qggz-zip.git 最后将主仓库提交到远程 3.克隆主仓库 将主仓库clone下来之后. 你必须运行两个命令:git submodule init 用来初始化本地配置文件,而 git subm…
1. 在项目中添加子模块 命令: git submodule add <url> 例子: git submodule add https://github.com/chaconinc/DbConnector 此命令在当前工作目录添加了一个名为"DbConnector"的子模块,且子模块地址为:https://github.com/chaconinc/DbConnector,另外这条命令会在当前工作文件夹添加两个文件.gitmodules和DbConnector. 然后你可以…
查看 git status 查看状态 Gitk 界面各个版本查看 添加 Git add filename 添加指定文件 Git add . 操作未暂存的文件 Git add -A 操作所有文件 包括删除的文件 提交 Git commit -m ‘此节点修改的描述’ Git commit –amend -m ‘修改最近一次提交的数据’ 回退 Git reset head ‘filename’ 将文件从已暂存中移除到位跟踪 Git revert ‘某一个版本的id’返回上一个版本 需求 :在我提交的…
问题描述: 当一个prj.git项目里引用了另外一个moduleA.git项目作为其一个子模块,由于该模块未完善后续可能将继续升级,也就是需要两套git分别管理prj.git与moduleA.git,而prj.git又使用了moduleA.git. 使用submodule进行管理 1.  新建一个项目git 2. 新建一个mouleA.git 3. 在prj.git里添加moudleA.git. 带有submodule仓库的克隆方法 1. 直接clone的话是没有submodule信息的,只有文…
Git git核心概念详解 什么是git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计.应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)有所不同.git最初的开发动力来自于BitKeeper和Monotone.git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控…
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone <repository> --recursive 递归的方式克隆整个项目 git submodule add <repository> <path> 添加子模块 git submodule init 初始化子模块 git submodule update 更新子模块 gi…
子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个. 我们举一个例子. 假设你正在开发一个网站然后创建了 Atom 订阅. 你决定使用一个库,而不是写自己的 Atom 生成代码. 你可能不得不通过 CPAN 安装或 Ruby gem 来包含共享库中的代码,或者将源代码直接拷贝到自己的项目中. 如果将这个库包含进来,那么无论用何种方式都很难定…
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone <repository> --recursive 递归的方式克隆整个项目 git submodule add <repository> <path> 添加子模块 git submodule init 初始化子模块 git submodule update 更新子模块 gi…
转自:https://segmentfault.com/a/1190000003076028 使用场景 基于公司的项目会越来越多,常常需要提取一个公共的类库提供给多个项目使用,但是这个library怎么和git在一起方便管理呢?我们需要解决下面几个问题: 如何在git项目中导入library库? library库在其他的项目中被修改了可以更新到远程的代码库中? 其他项目如何获取到library库最新的提交? 如何在clone的时候能够自动导入library库? 解决以上问题,可以考虑使用git的…
From: https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97 子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个. 我们举一个例子. 假设你正在开发一个网站然后创建了 Atom 订阅. 你决定使用一个库,而不是写自己的 Atom…
本文转自:https://blog.csdn.net/qq_37788558/article/details/78668345 实例代码: 父项目:https://github.com/jjz/pod-project 子项目:https://github.com/jjz/pod-library 使用场景 基于公司的多项目,我们提取了一个公共的类库提供给多个项目使用,但是这个library怎么和git在一起方便的管理呢? 需要解决以下的几个问题: 如何在git项目中导入library库? libr…
git submodule主要是用于针对git项目中还存在git子模块的情况.在一般情况下,我们通过git clone 获取项目的时候会把项目中的所有信息都拿到.但是,如果相关中存在git子模块那么,我们git下来的项目中该模块是一个空的文件夹.这时git submodule就派上用场了.通git submo获取子项目的步骤如下: 1.通过git clone获取主要项目 2.删除主项目中的空文件夹:git rm -r “空文件路径” 3.在删除空文件夹之后,要git commit 进行提交.如果…
git submodule 使用过程中遇到的问题 资源文件 原.gitmodules文件的内容如下: [submodule "Submodules/FFmpegWrapper"] path = Submodules/FFmpegWrapper url = git@github.com:OpenWatch/FFmpegWrapper.git [submodule "Submodules/CocoaHTTPServer"] path = Submodules/Cocoa…
在使用git子模块的时候踩了一个坑 在使用git submodule updata --init --recursive命令,即递归更新子模块并初始化时碰到了一个问题: 经过一段不短时间的排查,发现问题源于之前的一次不成功的子模块换源行为. .gitsubmodule中的url改动并未同步到git的config中,导致保存时子模块保存的实际是旧源commit hash值.在update的时候,git自动读取项目目录下的.gitsubmodule文件,从新源中检索该hash值的commit,由于两…
Git Submodule功能刚刚开始学习可能觉得有点怪异,所以本教程把每一步的操作的命令和结果都用代码的形式展现给大家,以便更好的理解. 1.对于公共资源各种程序员的处理方式 每个公司的系统都会有一套统一的系统风格,或者针对某一个大客户的多个系统风格保持统一,而且如果风格改动后要同步到多个系统中:这样的需求几乎每个开发人员都遇到,下面看看各个层次的程序员怎么处理: 假如对于系统的风格需要几个目录:css.images.js. 普通程序员,把最新版本的代码逐个复制到每个项目中,如果有N个项目,那…
1.在项目中使用Submodule 为当前工程添加submodule,命令如下:git submodule add 仓库地址 路径仓库地址:是指子模块仓库地址URL.路径:指将子模块放置在当前工程下的路径. 注意:路径不能以 / 结尾(会造成修改不生效).不能是现有工程已有的目录(不能順利 Clone)命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息.添加完成以后,再将子模块所在的文件夹添加到工程中即可. 2.修改Submodule进入到子模…
子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个. 我们举一个例子. 假设你正在开发一个网站然后创建了 Atom 订阅. 你决定使用一个库,而不是写自己的 Atom 生成代码. 你可能不得不通过 CPAN 安装或 Ruby gem 来包含共享库中的代码,或者将源代码直接拷贝到自己的项目中. 如果将这个库包含进来,那么无论用何种方式都很难定…