git subtree用法(转)
git subtree用法
一.使用场景
例如,在项目Game中有一个子目录AI。Game和AI分别是一个独立的git项目,可以分开维护。为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思:
1.AI子目录使用AI的git项目来填充,内容保持一致。
2.当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来。
3.反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项目。
用git subtree可以轻松满足上面的需求。
二.git subtree用法
针对第一段的3条需求,我分别说明具体的命令。
1. 第一次添加子目录,建立与git项目的关联
建立关联总共有2条命令。
语法:git remote add -f
解释:其中-f意思是在添加远程仓库之后,立即执行fetch。
语法:git subtree add --prefix= --squash
解释:–squash意思是把subtree的改动合并成一次commit,这样就不用拉取子项目完整的历史记录。–prefix之后的=等号也可以用空格。
示例
$git remote add -f ai https://github.com/aoxu/ai.git
$git subtree add --prefix=ai ai master --squash
2. 从远程仓库更新子目录
更新子目录有2条命令。
语法:git fetch 语法:git subtree pull --prefix= --squash
示例
$git fetch ai master
$git subtree pull --prefix=ai ai --squash
3. 从子目录push到远程仓库(确认你有写权限)
推送子目录的变更有1条命令。
语法:git subtree push --prefix= 分支
示例
$git subtree push --prefix=ai ai master
原文地址:http://cssor.com/git-subtree-usage.html
git subtree用法(转)的更多相关文章
- git 版本库拆分和subtree用法
git 版本库拆分 原文地址: https://segmentfault.com/a/1190000002548731 程序员最爽的事情是什么?删删删!所有项目本来都很苗条的,时间长了难免有一些越搞越 ...
- Git subtree和Git submodule
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次 ...
- 使用GIT SUBTREE集成项目到子目录(转)
原文:http://aoxuis.me/post/2013-08-06-git-subtree 使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护 ...
- Git的用法
Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...
- git subtree 使用
这个是备忘录.原网页(https://medium.com/@porteneuve/mastering-git-subtrees-943d29a798ec , http://cncc.bingj.co ...
- git subtree有效管理公共第三方lib
如果你的项目中有很多第三方的lib,你希望使用它,并且也希望可能对该lib做修改并且贡献到原始的项目中去,或者你的项目希望模块化,分为几个repo单独维护,那么git subtree就是一个选择.gi ...
- git subtree
语法:git subtree split -P <被裁减的目录> -b <分支> git subtree split -P SDK/CustomUI(需要裁减的) -b Cus ...
- git subtree pull 错误 Working tree has modifications
git subtree 是不错的东西,用于 git 管理子项目. 本文记录我遇到问题和翻译网上的答案. 当我开始 pull 的时候,使用下面的代码 git subtree pull --prefix= ...
- git revert用法以及与git reset的区别
git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD ...
随机推荐
- iOS tableview 选中Cell后的背景颜色和文字颜色
做下记录,备忘 改文字颜色其实是UILabel的属性,改背景颜色是cell的属性,都和tableview无关. cell.textLabel.textColor = BAR_COLOR; cell.t ...
- hdu 1272 小希的迷宫 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 第二条并查集,和畅通工程的解法类似.判断小希的迷宫不符合条件,即有回路.我的做法是,在合并两个集 ...
- input框颜色修该
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 大神的游戏(codevs 1353)
题目描述 Description 在那遥远的机房,有一片神奇的格子.为了方便起见,我们编号为1~n.传说只要放入一些卡片,就能实现愿望.卡片一共有m种颜色,但是相邻的格子间不能放入相同颜色的卡片.只要 ...
- Controller与View之间的数据传递
1)Controller向View传递数据ViewData["message"] = "Hello";//使用ViewData传递数据ViewBag.Time ...
- UEditor插入表格没有边框但有间距
百度编辑器ueditor插入一个表格后,在编辑过程中有表格,但是保存后,在前台网页中没有边框,但有间距,设置方法如下: 在UEditor文件夹下打开ueditor.all.js文件,找到UE.comm ...
- redhad借用CentOs yum 安装
RedHat linux 默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件,如果我们需要在redhat下直接yum安装软件,我们只用把yum的源修改成Cen ...
- Java封装自己的Api
转自:http://www.2cto.com/kf/201404/291555.html 随着学习的深入,我们都想封装自己的Api,但对于新手这并不是一件简单容易的事! 我要达到的效果:自己封装一些方 ...
- CC2540开发板学习笔记(六)——AD控制(自带温度计)
一.实验目的 将采集的内部温度传感器信息通过串口发送到上位机 二.实验过程 1.寄存器配置 ADCCON1(0XB4)ADC控制寄存器1 BIT7:EOC ADC结束标志位0:AD转换进行中 ...
- 如何写出安全的API接口
通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出. 对于安全也是相对的,下面我来根据安全级别分析 1.完全开放的接口 有没有这样的接口, ...