git 子模块】的更多相关文章

Git子模块(submodule)简介 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目.也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的.这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个. 子模块允许你将一个 Git 仓库当作另外一个Git仓库的子目录.这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立. Git子模块用法 添加一个子模块 首先你要把外部的仓库克隆到你的子目录中. 假设你想把 pacman…
imtianx 2018年03月08日阅读 2057 Git 子模块:git submodule 工作中,可能会遇到在一个Git仓库 中添加 其他 Git 仓库的场景.比如,在项目中引用第三方库.或者在模块化开发中,某些公共的模块是需要单独维护的,使用单独的仓库比较方便,但是在项目中需要引用,就会出现这样的场景.这里使用 Git 的 git submodule 命令为一个 git 项目 添加 子git项目. 可以使用 git submodule --help 查看所有相关命令. 为了方便说明,这…
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到主仓库中. 克隆有子模块的仓库 添加过子模块的仓库,如果想重新克隆,和普通克隆一样…
Git 子模块操作相关的一些命令备忘: # 当使用git clone下来的工程中带有submodule时,初始的时候 submodule的内容并不会自动下载下来的,需执行如下命令: git submodule update --init --recursive (注意,此时会递归下载第三方模块)# 当使用git clone下来的工程中带有submodule时,使用下列命令不会递归下载第三方模块:git submodule update --init git 添加子模块: # git submod…
本文以 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:…
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另一个. Git 通过子模块来解决这个问题. 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录. 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立. 开始使用子模块 git submodule add remotePath [localPath] 克隆含有子模块的项目 gi…
原文地址: http://www.cnblogs.com/kelsen/p/5918672.html 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另一个. Git 通过子模块来解决这个问题. 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录. 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立. 开始使用子模块 git…
为了方便各个子模块独立开发,或使用第三方不断更新的仓库,可以使用子模块来引用. 子模块对应的源码是子模块仓库的克隆. git submodule 与 subtree对比 git submodule 允许其他的仓库指定以一个commit嵌入仓库的子目录 仓库 clone下来需要 init 和 update 会产 .gitmodule 文件记录 submodule 版本信息 git submodule 删除起来比较费劲 git subtree 避免以上问题 管理和更新流程比较方便 git subtr…
添加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…
如下项目有多个标红的子模块 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’返回上一个版本 需求 :在我提交的…
当一个 git 项目包含子模块(submodule) 时,直接克隆下来的子模块目录里面是空的. 有两种方法解决: 方法一 如果项目已经克隆到了本地,执行下面的步骤: 初始化本地子模块配置文件 git submodule init 更新项目,抓取子模块内容. git submodule update 方法二 另外一种更简单的方法,就是在执行 git clone 时加上 --recursive 参数.它会自动初始化并更新每一个子模块.例如: git clone --recursive https:/…
git submodule主要是用于针对git项目中还存在git子模块的情况.在一般情况下,我们通过git clone 获取项目的时候会把项目中的所有信息都拿到.但是,如果相关中存在git子模块那么,我们git下来的项目中该模块是一个空的文件夹.这时git submodule就派上用场了.通git submo获取子项目的步骤如下: 1.通过git clone获取主要项目 2.删除主项目中的空文件夹:git rm -r “空文件路径” 3.在删除空文件夹之后,要git commit 进行提交.如果…
一,理解 Git 1,分布式版本控制 Git 版本控制系统的设计思想是"去中心化".传统的 CVS .SVN 等工具采用的是 C/S 架构,只有一个中心代码仓库,位于服务器端.而一旦由于服务器系统宕机.网络不通等各种原因造成中心仓库不可用,整个 CVS .SVN 系统的代码检入与检出就瘫痪了. 为了摆脱对中心仓库的依赖,Git 的初始设计目标之一就是分布式控制管理.即每个成员本地都是一个完整的版本库,都可以看成是中心仓库.Git 分布式的设计理念有助于减少对中心仓库的依赖,从而有效降低…
pwd #确定当前目录 mkdir Copter-3.5.4 #如有需要,新建目录 cd Copter-3.5.4 #进入新目录文件 #克隆指定分支,并且克隆分支对应的git子模块 git clone --recursive -b Copter-3.5.4 https://github.com/ardupilot/ardupilot #编译源码之前 # make clean-清楚项目文件 # make px4-clean -清楚px4项目有关文件,这个过程会校验工程子模块,如果通过,后续编译基本…
之前的多人项目大多使用了SVN作为版本控制,自己只会用eclipse连接GitHub的操作.这次项目采用了git作为版本控制系统,所以学会了很多新操作,这里权当记录,以备后用. git的一些基本操作可参考http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 简而言之就是: git fetch git merge git merge [分支] git push git branch [新分支] git checkout [file]…
Git git核心概念详解 什么是git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计.应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)有所不同.git最初的开发动力来自于BitKeeper和Monotone.git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控…
在使用git子模块的时候踩了一个坑 在使用git submodule updata --init --recursive命令,即递归更新子模块并初始化时碰到了一个问题: 经过一段不短时间的排查,发现问题源于之前的一次不成功的子模块换源行为. .gitsubmodule中的url改动并未同步到git的config中,导致保存时子模块保存的实际是旧源commit hash值.在update的时候,git自动读取项目目录下的.gitsubmodule文件,从新源中检索该hash值的commit,由于两…
Git git子模块 先在GitHub创建两个空的respository,一个super_project和一个sub_project. 然后在git bash中向库中写入一些文件. 在super_project中用git submodule add git@github.com:dengyouquan/sub_project.git module1添加子模块 添加成功后,在父仓库根目录增加了.gitmodule文件. [submodule "module1"] path = modul…
我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误: fatal: unable to access 'https://myserver.com/gogs/user1/myapp/': SSL certificate problem: unable to get local issuer certificate 这是由于当你通过HTTPS访问Git远程仓库的时候,如果服务器上的SSL证书未经过…
作者:gafish https://github.com/gafish/gafish.github.com Git简介 Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具. 2013年,淘宝前端团队开始全面采用 Git 来做项目管理,我也是那个时候开始接触和使用,从一开始的零接触到现在的重度依赖,真是感叹 Git 的强大. Git 的api很多,但其实平时项目中90%…
git 在 A 项目中引用 B 项目   场景: 需要在项目calcDLL(http://XXX/XXXA.git) 中 引用 项目libindex(http://XXX/XXXB.git). 解决方法: 使用 Git 子模块(https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97) step1: 添加子模块: 1 2 cd F:\work\calcDLL git submodule ad…
. 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 列出文件的所有改动历史,注意,这里着眼于具体的一个文件,而不是git库,如果是库,那改动可多了去了- . 查看具体的某次的改动的修改 git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e 每一行最前面的那一长串数字就是每次提交形成的哈希值 Git常用命…
一.安装 具体查看 安装Git 二.使用 基础知识 工作区(Workspace):就是你在电脑里能看到的项目目录. 暂存区(Index / Stage):临时存放更改的地方,使用命令"git add <.|file>"就是把文件加入暂存区.一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index). 版本库(Repository):管理版本的文件,使用"git commit -m…
因为最近工作上多处都用到了基于 Git 的开发,需要深入理解 Git 的工作原理,以往的 Git 基本知识已经满足不了需求了,因此写下这篇 Git 进阶的文章,主要是介绍了一些大家平时会碰到但是很少去了解的 Git 知识以及 Git 的一些内部工作原理.我们平时用 Git 的很多操作可能只是记住了一个专业术语,或者一个命令而已,并不知道 Git 为什么要这样做,写下这篇文章也是为了让大家对 Git 应用得更加的得心应手. 读完本篇文章你会了解到 Git 的以下内容: ✦ 为什么使用 Git ✦ …
本文作者:李博文 - CODING 后端开发工程师 前言 六七年前,我机缘巧合进入了代码托管行业,做过基于 Git 支持 SVN 客户端接入.Git 代码托管平台分布式.Git 代码托管读写分离.Git 代码托管高可用等工作,所幸学到了一些知识,积累了一些经验,本次分享我的一点经验之谈,希望对即将进入或者已在代码托管行业的朋友有所帮助. Git 的发展历史 版本控制系统的发展历史 版本控制系统历史悠久,最早的开源的版本控制系统可以追溯到几乎与 C 语言同时诞生的 Source Code Cont…
开源Linux 回复"读书",挑选书籍资料~ Git 流程图 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 配置 Git # 配置全局用户 $ git config --global user.name "用户名" $ git config --global user.email "git账号" # 配置别名 $ git config --global alia…
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Testing )和其他的开源项目,免费的和付费的服务.每个部分中的项目没有先后顺序,均是按照提交的先后顺序排列的. Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲.你可以自由添加你的项目. 整理项目:链接:https://github.com/jobbole/a…
Swift 语言写成的项目会被标记为  ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#libraries-and-frameworks 入门 Road Map iOS - 开发 iOS 应用从今天开始,苹果指南.★ Lifehacker - 我想写一个 iOS 应用,该从哪里开始? Codeproject - 入门 iPhone 和 iOS 应用开发. Ray Wenderlich - 学习 iO…