关于

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. Nginx配置基础-location

    location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location.= 进行普通 ...

  2. java集合类图

  3. 20165305 苏振龙《Java程序设计》第三周学习总结

    面向对象和面向过程: 面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的. 面向对象的三个特征: 封装,继承,多态: 对 ...

  4. restful的特点

    1. 资源(Resources) REST的名称”表现层状态转化”中,省略了主语.”表现层”其实指的是”资源”(Resources)的”表现层”.                所谓”资源”,就是网络 ...

  5. Hive 中的复合数据结构简介以及一些函数的用法说明

    参见下面这篇博客: Hive 中的复合数据结构简介以及一些函数的用法说明

  6. yum配置文件中baseurl和mirrorlist的区别

    找到yum.repo.d文件夹下的文件,随便打开一个,找到mirrorlist的url,比如: http://mirrorlist.centos.org/?release=6&arch=$ba ...

  7. 国外互联网大企业(flag)的涨薪方式

    国外互联网大企业(flag)指的是:Facebook,Google,Amazon,LinkedIn 至于 A 代表哪家公司存在争议:有人说是Amazon,也有说是Apple,现在更有人说应该是AirB ...

  8. windows下cmd清屏命令cls

    windows下cmd清屏命令cls

  9. navicat 连接postgresql报错pg_hba.conf

    PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,会报一些如下的异常: org.postgresql.util.PSQLException: FATAL: ...

  10. 计蒜客---N的-2进制表示

    对于十进制整数N,试求其-2进制表示. 例如,因为  1*1  +  1*-2  +  1*4  +  0*-8  +1*16  +  1*-32  =  -13  ,所以(-13)_10  =  ( ...