关于

git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。 查看详情
这个备忘清单展示了 git-flow 的基本操作和效果。

基础建议

Git flow 提供了极出色的命令帮忙以及输出提示。请仔细阅读并观察发生了什么事情
macOS 程序 Sourcetree 是一个极出色的 git 界面客户端,已经提供了 git-flow 的支持
Git-flow 是一个基于归并的解决方案,它并没有提供重置(rebase)特性分支的能力。

安装

你需要有一个可以工作的 git 作为前提。

Git flow 可以工作在 macOS, Linux 和 Windows之下

更多的 git flow 安装指引,请阅读 git flow wiki

macOS

Homebrew

$ brew install git-flow-avh

Macports

$ port install git-flow-avh

 

Linux 

$ apt-get install git-flow

 

Windows (Cygwin)

$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

 

安装 git-flow, 你需要 wget 和 util-linux。

开始

为了自定义你的项目,Git flow 需要初始化过程。

初始化

使用 git-flow,从初始化一个现有的 git 库内开始:

git flow init

 

你必须回答几个关于分支的命名约定的问题。
建议使用默认值。  

 

特性

为即将发布的版本开发新功能特性

这通常只存在开发者的库中。

增加新特性

新特性的开发是基于 'develop' 分支的。 

通过下面的命令开始开发新特性: 

git flow feature start MYFEATURE

  

这个操作创建了一个基于'develop'的特性分支,并切换到这个分支之下。

完成新特性

完成开发新特性。这个动作执行下面的操作.

  • 合并 MYFEATURE 分支到 'develop'
  • 删除这个新特性分支
  • 切换回 'develop' 分支
git flow feature finish MYFEATURE

  

发布新特性

你是否合作开发一项新特性?
发布新特性分支到远程服务器,所以,其它用户也可以使用这分支。

git flow feature publish MYFEATURE

 

 

取得一个发布的新特性分支

取得其它用户发布的新特性分支,并签出远程的变更。

git flow feature pull origin MYFEATURE

  

你可以使用

git flow feature track MYFEATURE

跟踪在origin上的特性分支。

作一个release版本

  • 支持一个新的用于生产环境的发布版本。
  • 允许修正小问题,并为发布版本准备元数据

开始准备release版本

开始准备release版本,使用 git flow release 命令.

它从 'develop' 分支开始创建一个 release 分支。

git flow release start RELEASE [BASE]

 

你可以选择提供一个 [BASE]参数,即提交记录的 sha-1 hash 值,来开启动 release 分支. 这个提交记录的 sha-1 hash 值必须是'develop' 分支下的。 

创建 release 分支之后立即发布允许其它用户向这个 release 分支提交内容是个明智的做法。命令十分类似发布新特性:

git flow release publish RELEASE

 

(你可以通过

git flow release track RELEASE 命令签出 release 版本的远程变更) 

完成 release 版本

完成 release 版本是一个大 git 分支操作。它执行下面几个动作:

  • 归并 release 分支到 'master' 分支
  • 用 release 分支名打 Tag
  • 归并 release 分支到 'develop'
  • 移除 release 分支
git flow release finish RELEASE

紧急修复

  • 紧急修复来自这样的需求:生产环境的版本处于一个不预期状态,需要立即修正。
  • 有可能是需要修正 master 分支上某个 TAG 标记的生产版本。

开始 git flow 紧急修复

像其它 git flow 命令一样, 紧急修复分支开始自:

git flow hotfix start VERSION [BASENAME]

VERSION 参数标记着修正版本。你可以从 [BASENAME]开始,[BASENAME]为finish release时填写的版本号  

完成紧急修复

当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

git flow hotfix finish VERSION

  

Backlog

  • 并非所有可用的命令都涵盖在这里,这里包含有最重要的部分命令。
  • 你依旧可以继续使用你所知道和了解的 git 命令, git flow 只是一个工具集合。
  • 'support' 功能只是测试版本, 不建议使用
  • 如果你乐意提供翻译,我很乐意整合它。

Gitflow 视频讲解的更多相关文章

  1. 45分钟带你入门Linux(附:笔者在工作室开讨论班录制的视频讲解)

    第一部分    熟悉Linux基本操作 一.初识Linux 1.Linux特点 ◊  开放性 ◊  多用户 ◊  多任务 ◊  良好的用户界面 ◊  设备独立性 ◊  丰富的网络功能 ◊  可靠的系统 ...

  2. Java核心技术及面试指南的视频讲解和代码下载位置

    都是百度云盘,均无密码 代码下载位置: https://pan.baidu.com/s/1I44ob0vygMxvmj2BoNioAQ 视频讲解位置: https://pan.baidu.com/s/ ...

  3. 10个有趣的Python教程,附视频讲解+练手项目。

    从前的日色变得慢,车.马.邮件都慢 一生只够爱一门编程语言 从前的教程也好看,画面精美有样子 你看了,立马就懂了 Python最性感的地方,就在于它的趣味性和前沿性,学习Python,你总能像科技节的 ...

  4. 欢乐水杯(happy glass)中流体的一种实现!图文视频讲解 ! Cocos Creator!

    使用cocos creator v2.2.2 实现流体效果 ! 图文+视频讲解! 效果预览 实现原理 整体思路是参考论坛中的一个帖子 这款游戏中水的粘连效果在Construct3中利用图层很容易实现, ...

  5. 铁大树洞APP视频讲解和原型演示

    首先放上我们团队视频讲解演示的视频:https://v.youku.com/v_show/id_XNDYyMzA3MTgzNg==.html 团队名称:超能陆战队 团队成员:刘梦鑫(队长) 段行行 徐 ...

  6. Unity内存优化之视频讲解

    视频为中文讲解,mp4格式,大小3.05GB 目录   扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  7. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解

    关于String有没有长度限制的问题,我之前单独写过一篇文章分析过,最近我又抽空回顾了一下这个问题,发现又有了一些新的认识.于是准备重新整理下这个内容. 这次在之前那篇文章的基础上除了增加了一些验证过 ...

  8. Java设计模式视频讲解

    设计模式(JAVA) 视频网址: http://www.qghkt.com/ 设计模式(JAVA)视频地址: https://ke.qq.com/course/318643?tuin=a508ea62 ...

  9. C++设计模式视频讲解

    设计模式(C++) 视频网址: http://www.qghkt.com/ 设计模式(C++)视频地址: https://ke.qq.com/course/318637?tuin=a508ea62 目 ...

随机推荐

  1. 多线程:Operation(一)

    1. 进程和线程 1.1 进程 进程:正在运行的应用程序叫进程 进程之间都是独立的,运行在专用且受保护的内存空间中 两个进程之间无法通讯 通俗的理解,手机上同时开启了两个App.这两个App肯定是在不 ...

  2. FastDFS:Java客户都实现文件的上传、下载、修改、删除

    客户端版本:fastdfs_client_v1.24.jar 配置文件 connect_timeout = 200 network_timeout = 3000 charset = UTF-8 htt ...

  3. highcharts插件

    详见官网:https://www.highcharts.com.cn/demo/highcharts 详细使用代码: <!DOCTYPE html> <html lang=" ...

  4. 转:【专题六】UDP编程

    引用: 前一个专题简单介绍了TCP编程的一些知识,UDP与TCP地位相当的另一个传输层协议,它也是当下流行的很多主流网络应用(例如QQ.MSN和Skype等一些即时通信软件传输层都是应用UDP协议的) ...

  5. 以太坊erc20转账失败的情况和原因

    以太坊erc20转账失败的情况和原因 eth转账失败有多种情况,除了手续费过低以外(Out of gas),众筹额度满了(Bad instruction)也会失败链上转账有可能失败,转账失败转账的币退 ...

  6. Linux下MySQL远程链接配置

    配置步骤: 1).首先进入数据库,使用系统数据库mysql mysql -u root -p mysql 2).接着对系统数据库的root账户设置远程访问的密码,与本地的root访问密码并不冲突 gr ...

  7. double类型的数值计算

    package jiajian; public class jiajian { public static void main(String[] args) { System.out.println( ...

  8. @Entity 和 @Table

    Java Persistence API定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库.这些普通Java对象被称作Entity Bean.除了是用Java Persis ...

  9. 每日linux命令学习-head命令和tail命令

    本节主要学习了linux文件浏览的相关命令,包括cat.less.more.read.tail等,由于本人经常使用cat.less.more命令,已经较为熟悉,所以本节重点学习head命令和tail命 ...

  10. jquery photoClip支持手机端,PC端 本地裁剪图片后上传插件

    支持手机,PC最好的是jquery photoClip插件,下载地址&示例:https://github.com/topoadmin/photoClip demo.html 代码: <! ...