Git Flow印象

Git Flow印象

原文地址:http://www.jiangyouxin.net/2013/02/11/git_flow.html

在github的项目主页上是这么介绍的:(git flow is) Git extensions to provide high-level repository operations for Vincent Driessen’s branching model. 这个Vincent Driessen’s branching model的原文在http://nvie.com/posts/a-successful-git-branching-model/

简单翻译一下。git flow是用来实现某种分支模型上的操作的

两个主(main)分支:
master:指向当前已发布版本
develop:指向当前开发状态

三类支持(support)分支:
feature分支:从develop创建,用于某个功能点的开发。完成时自动合并到develop。
release分支:从develop创建,用于某个版本发布前的提测和修改BUG。完成时自动打TAG,合并到master和develop。
hotfix分支:从master创建,用于已发布版本的快速BUG FIX,完成时自动打TAG,合并到master和develop(若当前存在release分支,则合并到该分支而不是develop)

“创建”和“完成”操作都由对应的git flow命令来实现。命令很容易记忆:
git flow <feature|release|hotfix> <start|finish> <name>

下面这张图是从原文COPY出来的:

Git Flow印象

使用git flow,每一个feature独立在支线开发,完成后再合并到主线;发布版本在支线完成,与功能开发可以并行;打TAG的同时Merge修改回主线。以上这些都深得我心,而且它是靠工具(而不是规章制度)来实现的,对程序员比较友好。

git flow把所有的发布版本串联在master分支上,很好地维护了它们之间的偏序关系(master分支上的每一次提交都对应一个发布版本),这样可以很方便将master作为“卖主分支”来管理OEM;与topgit等结合也会很方便。

git flow的hotfix分支只能基于master,也就是最新的发布版本。如果要基于更老一些的发布版本去擦屁股,就得手工操作了:从旧的TAG上创建branch,完事后打新TAG,然后合并回develop(或者当前release),注意这时候就不能合并到master了。

转载于:https://my.oschina.net/jiangyouxin/blog/108507

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110217.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月21日 下午9:00
下一篇 2021年8月21日 下午10:00


相关推荐

  • lseek函数的用法

    lseek函数的用法所有打开的文件都有一个当前文件偏移量(currentfileoffset),以下简称为cfo。cfo通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于cfo,并且使cfo增大,增量为读写的字节数。文件被打开时,cfo会被初始化为0,除非使用了O_APPEND 。   使用lseek函数可以改变文件的cfo。       #in…

    2022年6月17日
    54
  • Git入门级常用命令(1)

    Git入门级常用命令(1)

    2021年5月23日
    138
  • 深度学习中的自动编码器:TensorFlow示例

    深度学习中的自动编码器:TensorFlow示例什么是自动编码器?  自动编码器是重建输入的绝佳工具。简单来说,机器就是一个图像,可以生成一个密切相关的图片。这种神经网络中的输入是未标记的,这意味着网络能够在没有监督的情况下进行学习。更准确地说,输入由网络编码,仅关注最关键的特征。这是自动编码器因降维而流行的原因之一。此外,自动编码器可用于生成生成学习模型。例如,神经网络可以用一组面部训练,然后可以产生新的面部。Autoencoder如何工…

    2022年6月3日
    46
  • CenterOS安装

    CenterOS安装1 在虚拟机中以最小化方式安装 centos7 虚拟机 VirtualBox 配置 nbsp nbsp nbsp nbsp nbsp nbsp 内存 gt 1 5G nbsp nbsp nbsp nbsp nbsp nbsp 硬盘 25G nbsp nbsp nbsp nbsp nbsp nbsp 操作系统 OtherLinux CenterOS VirtualBox 中没有这个选项 nbsp nbsp nbsp nbsp nbsp nbsp 位数 64 位 nbsp nbsp nbsp nbsp nbsp nbsp 网络 NAT2 安装完成后先激活网卡 vi 编辑器的使用 vi 编辑器有三种模式 命令模式 编辑模式 末行模

    2026年3月20日
    2
  • 阿里云异构计算产品是如何保障双11业务的

    阿里云异构计算产品是如何保障双11业务的

    2021年6月17日
    90
  • 学校计算机网络管理员面试,网络管理员面试题及答案

    学校计算机网络管理员面试,网络管理员面试题及答案1 请写出下列服务使用的默认端口 POP3 SMTP FTPPOP3110SM 20 2 按照数据访问速度排序 硬盘 CPU 光驱 内存 CPU 内存硬盘光驱 3 请写出 568A 与 568B 的线序 568B 橙白橙绿白蓝蓝白绿棕白棕 568A 绿白绿橙白蓝蓝白橙棕白棕 4 网卡 MAC 是由 6 组什么组成的有 16 进制数据组成 前三组表示厂商 有 IEEE 来分配 并

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号