git submodule 使用过程中遇到的问题 资源文件 原.gitmodules文件的内容如下: [submodule "Submodules/FFmpegWrapper"] path = Submodules/FFmpegWrapper url = git@github.com:OpenWatch/FFmpegWrapper.git [submodule "Submodules/CocoaHTTPServer"] path = Submodules/Cocoa…
序言 在git使用过程中发现指令实在太多,就算记忆后不长用的话很快也会忘记掉,所以编写本文的初衷是为了记录在使用git指令的过程中所遇到的需求与解决方法,毕竟使用git的需求也就那么一些,范围不大,所以可以将需求与解决方法记录下来,下次使用时遇到相同需求如果忘记了也可以得到快速解决 需求1 描述: 在git中生产SSH key 扩展: 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key. 步骤:…
开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发人员分别将master分支拉出来改作其新的开发分支,比如叫func1分支.func2分支之类的名字. 对应的QA负责测试各自对应开发所写的功能模块,假设有QA两名,分别为tester1和tester2,当他们接到各自开发dev1和dev2写的两个分支func1分支和func2分支后: 1. 如果二人…
在VS中使用Git进行项目source control的过程中,有些文件不在source control之下,右键点击时,也找不到Undo, Commit命令 无法把他们签入进Source Control中 解决方法: 右键该文件,选择"Exclude From Project ", 然后再次选择 "Include From Project" 这个时候,就出现Undo,Commit命令了…
 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表.通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等.我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式.来看一个实际的例子: $ cat .gitignore *.[oa] *~ 第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件.一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本.第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许…
Git submodule 仓库中包含另外的仓库(子仓库) 添加 submodule 在父仓库 git 目录下: git submodule add ssh://ip/[path]/xxx.git 注意:不要在ip前加username@,例如:git submodule add ssh://username@ip/[path]/xxx.git,这样的话你就得把密码告诉别人了,如果不加username,那么会用git config 中的user去登陆 在父仓库添加 submodule 的时候,会让…
在执行git rebase 过程中经常遇到问题,此时有点慌,一般如何解决呢? 1.先将本地的冲突手动解决 2.执行下面命令 git add . git rebase --contine  //继续rebase过程…
在提交代码的过程中,可能会遇到下面的问题: fatal: Unable to create 'C:/programLists/zzw-q1/.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is…
在開發的過程中我們的項目可能會引用其他的版本庫中的代碼, 例如公司已經累積了一套公用的函式庫, 被多個項目調用;  很顯然地, 不能把公用函式庫的文件直接放到我們開發中的項目中, 這樣不但項目的冗餘, 也增加維護的難度, 無疑是替自己找麻煩. 這時候我們就可以使用Git中submodule功能, 來管理我們的子模版, 在這裡我們配合使用GUI SourceTree(以下就簡稱ST吧), 以下就進入正文囉...... 1. 準備工作 首先我們先建立兩個Repository分別叫smMain以及sm…
git submodule主要是用于针对git项目中还存在git子模块的情况.在一般情况下,我们通过git clone 获取项目的时候会把项目中的所有信息都拿到.但是,如果相关中存在git子模块那么,我们git下来的项目中该模块是一个空的文件夹.这时git submodule就派上用场了.通git submo获取子项目的步骤如下: 1.通过git clone获取主要项目 2.删除主项目中的空文件夹:git rm -r “空文件路径” 3.在删除空文件夹之后,要git commit 进行提交.如果…
http://blog.jqian.net/post/git-submodule.html 使用git管理的项目开发中,如果碰到公共库和基础工具,可以用submodule来管理. 常用操作 例如, 公共库是 lib.git,地址:git@github.com:lib.git: 需要使用公共库的项目是 proj.git,地址:git@github.com:proj.git. 添加 为项目proj.git添加submodule,先进到相应的目录下,然后执行如下命令: git submodule ad…
基于组件的项目很多,但是如果直接用包的方式直接引用到项目中,如果出现问题很难进行调试的操作,也很难进行组件的优化和管理,所以写了一篇文章来介绍下git submodule的用法,用submodule可以一定程度上解决组件难以管理的问题.接下来我用两个测试项目来演示下submodule的基本用法. 新建Git仓储库 在本地clone我们的父项目,并查看当前repository状态 添加子模块 命令:git submodule add XXXXX 查看当前repository状态,除了刚刚添加的 公…
Git Submodule功能刚刚开始学习可能觉得有点怪异,所以本教程把每一步的操作的命令和结果都用代码的形式展现给大家,以便更好的理解. 1.对于公共资源各种程序员的处理方式 每个公司的系统都会有一套统一的系统风格,或者针对某一个大客户的多个系统风格保持统一,而且如果风格改动后要同步到多个系统中:这样的需求几乎每个开发人员都遇到,下面看看各个层次的程序员怎么处理: 假如对于系统的风格需要几个目录:css.images.js. 普通程序员,把最新版本的代码逐个复制到每个项目中,如果有N个项目,那…
submodule 已经建立好了一个gitlab submodule形式的repo: 在repo A下面有一个submodule B, A --> B. clone -b branch [repoA] cd A git submodule update --init 之后,在B的文件夹下运行 git branch 会发现当前分支处于一个临时分支上: (HEAD detached at 3bf1f88) 但是在提交repoA的时候,更新的是B中的production分支: git submodul…
道哥的第 030 篇原创 目录 一.一个真实的代码泄漏故事 二.Jenkins 的基本使用 1. Jenkins 是什么? 2. 安装 JDK8 3. 安装 Jenkins 4. 在浏览器中配置 Jenkins 5. 在 Jenkins 中配置一个小项目 6. 手动触发编译一次 三.git submodule 基本使用 1. git submodule 是什么? 2. 利用三个小项目,来测试一下 submodule 的用法 3. 在一个空目录中来编译.验证一下可行性 四.在 Jenkins 中使…
1.git submodule指什么 关于git submodule是什么,可以看下面这个链接. https://www.cnblogs.com/hwx0000/p/14146838.html 2.git submodule init做了什么 当我们git clone某一个git之后,在主目录下会有如下一个文件夹.git和文件.gitmodules(如果父仓下含有子仓) 打开.gitmodules文件,可以看到父仓下所包含的所有的子仓库的信息,一般会有子仓名字,挂载路径,下载地址,有时也会写上b…
From:http://www.worldhello.net/2010/01/26/425.html 删除 git submodule (git 库子模组) 有两种情况会创建 git submodule (git 子模组) 显性方式添加:使用 git submodule 命令将其他git库作为子目录添加,即子模组 隐性方式添加:使用 git add 添加,如果某个子目录本身是一个 git 库,就自动添加为子模组,不再递归添加该目录下面的文件 那么这两种方式添加的子模组有什么不同?子模组有什么副作…
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,cocopods也避免不了安装很多次了. 对于新手来说,使用cocopods开发,还是节省了相当多的开发时间,以下便是cocopods安装和安装过程中遇到的问题及解决办法: 最新更新:2016年7月25日,新电脑新系统测试安装! 1.cocopods 安装:http://www.cnblogs.com…
当你习惯了代码的 VCS 后,基本上是离不开的. 作为一个依赖多个子项目组成的项目,要实现直观的代码逻辑结构,可以考虑使用 Git submodule 特性. 当然,如果只是单独的依赖的话,用依赖管理即可,如Java 中的 Maven.Node.js 中的 npm.PHP 中的 composer. 给项目添加submodule 命令如下: git submodule add 仓库地址 路径 其中,"仓库地址"是指子模块仓库地址,"路径"指将子模块放置在当前项目下的对…
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次子项目修改了后要init和update.万一哪次没update就直接"commit -a" 或者 "add ." 全commit上去就悲剧了. git subtree虽然比git submodule更好用,但也不是特别完美的解决方案,使用时一定要特别注意. git-su…
node,npm在前端开发流程中提供了非常完善的自动化工具链,但是同样由于其复杂性导致有很多奇奇怪怪的问题.本文将记录使用过程中出现的一些问题及其解决方法备案. 国内由于gfw问题,导致很多国外的网站不能访问,比如bitbucket就是一个host代码的很优秀平台,但是由于该平台可能被block住,从而导致npm安装时出现奇奇怪怪的问题.有以下方法解决: 1.使用一个proxy来代理访问,但是这个方法速度可能比较慢:2.可以通过修改npm的配置文件让npm到另外的pacakge mirror站点…
在项目开发中,特别是web前端开发中,有非常多的开源第三方library,我们希望引用他们,同时也希望能够方便地保持这些第三方 开源repo的更新.另外一方面如果我们自己在开发一个网站的项目,这个项目一般分为前端和后端两个相对独立的子项目,特别是前端的repo可能在不同的项目中共享,那么这时,你就可能希望将项目分开为前端和后端两个repo,如何管理这种情况呢?一个比较好的方案就是使用git的submodule功能. 假设我们的父repo在prepo目录,sumodule newtestrepo希…
最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods与之前比较.有很多不一样的地方.挣扎了2天,终于搞定.现在纪录一下. 1.首先查看ruby是否是最新版的.ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),在终端需要中输入以下命令: (1)安装RVM.RVM:Ruby Version Man…
一.CocoaPods是什么? CocoaPods是一个用Ruby写的.负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的.统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间. 二.CocoaPods的安装 因为Mac电脑自带Ruby环境,我们就只需打开终端开始动手. (1).将Ruby 的软件源替换成国内的 ruby 的软件源( https://rubygems.org )使用的是亚马逊的云服务,所以自带的需要FQ,但我们可以使用如下代码将官方的 ruby 源替…
你必须使用32位或64位Ubuntu系统,关于如何建立编译环境和同步源码的指导,请自己查找有关指导的文章. 1, 安装所需要的包 2, 建立编译的环境,并同步CWM所需的源码,CyanogenMod源码中附带CWM源码 CWM 5 - Gingerbread CWM 6 - Jellybean 3, 下面我们进入真正的编译阶段,确保你已经使用“repo sync ”命令同步了最新的源码 进入源码的目录 放出以下命令:      make -j4 otatools 3.5, 如果你的机型不被CM1…
$ cd 项目目录 // 初始化 $ git init $ git submodule add https://github.com/XXXX // 普通更新 $ git submodule update // 初始化并更新 $ git submodule update --init --recursive // 递归更新 $ git submodule foreach --recursive git submodule init $ git submodule foreach --recurs…
前言:记录一些在CocoaPods使用过程中遇到的问题,本地环境:Xcode9.0 发现有的时候在执行pod init的时候不能正常地创建出来pod File文件,显示的错误如下: ――― MARKDOWN TEMPLATE ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ### Command ``` /Users/wangyongwangyongwang/.rvm/rubies/ruby-/bin/pod init ``…
原文 node,npm在前端开发流程中提供了非常完善的自动化工具链,但是同样由于其复杂性导致有很多奇奇怪怪的问题.本文将记录使用过程中出现的一些问题及其解决方法备案. 国内由于gfw问题,导致很多国外的网站不能访问,比如bitbucket就是一个host代码的很优秀平台,但是由于该平台可能被block住,从而导致npm安装时出现奇奇怪怪的问题.有以下方法解决: 1.使用一个proxy来代理访问,但是这个方法速度可能比较慢:2.可以通过修改npm的配置文件让npm到另外的pacakge mirro…
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone <repository> --recursive 递归的方式克隆整个项目 git submodule add <repository> <path> 添加子模块 git submodule init 初始化子模块 git submodule update 更新子模块 gi…
一 引言 这一篇文章还是记录我在杭州工作的总结. 我刚来公司的时候,对Git的使用很头痛,因为在学校里面很少用这个东西,即使用,一般也只有一个分支,不会出现代码冲突和代码合并的情况.但是公司里面一个项目组有那么多的人,无法避免代码冲突和合并.从开始的战战兢兢到后来教新人使用Git,也算是一个成长吧,记录一下我总结的使用方法. 二 关于冲突 公司里面用的是GitLab,其实和GitHub是一个道理.在团队协作时,合并代码的过程中出现冲突时非常正常的一件事,并不是错误.所以也不要害怕冲突,更不能试图…