Git分支模型

本文介绍了Git分支模型的使用,包括为何选择Git,去中心化和中心化的特点,以及主分支(master和develop)和辅助分支(功能分支、发布分支、修复bug分支)的详细操作流程。在该模型中,master分支保持生产可用状态,develop分支代表下一个版本的开发状态,辅助分支用于功能开发、发布准备和快速修复bug。通过这种方式,团队成员可以并行开发,提高协作效率。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这篇文章中,我将推广一下大约一年前我介绍过的一些项目(在工作中和在私人项目中)中使用的开发模型,它们的结果都非常成功。有段时间我非常想写出来分享一下,但是我至今才抽出时间来。我不会言及任何项目细节,仅讨论分支策略和发布管理。
在这里插入图片描述

为何使用 git?

关于 Git 和集中式源码版本控制系统的优缺点对比讨论, 见 此 web。这里有很多精彩激烈的论战。作为一名开发者,现在我更偏好使用 Git 。Git 真的改变了开发者关于合并和分支的认知。我来自传统的 CVS/Subversion 世界,合并 / 分支是件恐怖的事情 (「小心合并冲突,它们会反噬你!」),而且大家偶尔才会做这件事。

但是使用 Git,这些操作就显得轻而易举,它们会成为你 日常 工作流的核心部分。例如,在 CVS/Subversion 手册中,分支和合并直到最后章节才首次出现(仅供高级用户参考),但是在 每个 Git 手册中,第三章就覆盖到了(基本上)。

因为具有简单和可重复的基因,分支和合并不再是什么值得担心的问题了。版本控制工具应该专注于分支 / 合并,而非其他事情。

关于工具的了解已经够了,那么我们就开始进入开发模型了。这个我要介绍的开发模型,不过是每个团队成员进入软件开发流程之前必须遵循的规范。

去中心化和中心化

基于一个「真正」中心库的这种分支模型可以让我们很好的协同工作。注意这个库仅仅是被认为一个中心库(因为 GIT 在技术角度并没有中心库这一说法)。我们将此仓库命名为 origin,因为这名字被 Git 用户熟知。
在这里插入图片描述
所有开发者都从 origin 库拉取或向其推送代码。在中心化的推送 - 拉取关系之外,开发者也可以从其他的开发者库拉取代码更改。例如,为了开发一个大型功能,有多位开发者组成一个开发小组,在功能完成之前,开发过程不必推送至 origin 库。在上面的图中就有 Alice 和 Bob, Alice 和 David,还有 Clair 和 David 之间组成的小组。

技术层面,Alice 要在本地库加一个远程 Git 分支并命名为 bob,指向 Bob 的仓库。其他人也一样。

主分支

在这里插入图片描述
git 的核心在开发模式上受到了现有模式的极大启发,中心仓库在整个生命周期保持了两个主要的分支:

  • master
  • develop

每个 Git 用户都对在 origin 的 master 分支很熟悉。 跟 master 分支并行的是另一个称为 develop 的分支。

我们称 origin/master 为主分支,这个分支源码的 HEAD 一直指向 可用于生产环境 的状态。

我们称 origin/develop 为主分支,这个分支源码的 HEAD 总是反映下一个版本的最新开发状况。有些人称这个分支为 “整合分支” 。所有的每日自动构建都是从这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值