有时候,你可能拥有“过多”的好东西。Git Flow 当然也是如此,这是一个著名的软件开发工作流程,它提供了多种选择,但却会让用户陷入困境。

为了消除容易引起混乱的复杂性、简化开发流程,我们推出了极狐GitLab Flow极狐GitLab Flow 为 Git 工作引入了议题跟踪功能,简化了流程,消除了混乱。

Git Flow 的问题

要想了解极狐GitLab Flow 的工作原理,不妨先看看它试图解决的问题。在 Git Flow 中,有两个主要的痛点,都涉及到不必要的分支切换。

Git Flow 强制开发者使用develop分支而不是master分支。因为大多数工具都默认使用 master,所以涉及到大量的分支切换。另一个让人烦恼的地方是hotfixrelease分支,这对大多数组织来说显得过于繁琐,而对实践持续交付(CD)的公司来说则完全没有必要。

这让我们想到了极狐GitLab Flow——一个让一切都变得简单和包容的工作流程。

极狐GitLab Flow:一个简化的分支策略

极狐GitLab Flow 将特性驱动开发和特性分支与议题跟踪相结合。极狐GitLab Flow 将 Git 工作流程与议题跟踪系统整合在一起,提供了一种简单、透明、高效的 Git 工作方式。

极狐GitLab Flow 是一种让代码和议题跟踪器之间的关系更加透明的方式。代码库的每一次修改都是从议题跟踪系统中的一个议题开始的。当你完成编码或想要讨论代码时,你可以打开一个 Merge Request(合并请求)。当代码审核完成后,审核员会将该分支合并到 Master 中。通过使用 GitLab 工作流,团队可以通过将主分支合并到production分支来部署代码,同时可以快速识别生产环境中的代码版本,使他们能够快速识别哪些代码在生产中。在这个工作流程中,提交只流向下游,确保所有的东西在全面的环境中测试。

极狐GitLab Flow 避免了 Git Flow 所伴随的发布、标记和合并的额外开销。

简而言之,极狐GitLab Flow:

极狐GitLab Flow 将构思推进到生产阶段的方式,并让每个人都能了解所需信息并提高工作效率。我们确定了开发过程中必须经历的10 大关键阶段,以使软件能够投入生产。极狐GitLab Flow 可以轻松地支持所有阶段进行核算,同时继续提供开发生命周期的全面可见性。

广义上讲,极狐GitLab Flow 主要分为三个领域:feature (特性) 分支、production (生产) 分支和release (发布) 分支。

feature分支是实际开发工作发生的地方。开发者创建一个针对功能或 bug 修复的分支,并在那里完成所有工作,而不是在 master 分支上。一旦工作完成,开发人员就创建一个 Merge Request(合并请求),将 feature 分支的内容合并到 master 分支。

production分支本质上是一个整体–一个单一的长期运行的生产发布分支,而不是单个分支。可以为每个可部署的版本创建一个标签,以便跟踪这些细节。

最后,如果你向客户发布软件,那么release分支是关键。每发布一个新版本,你都会从 master 创建一个稳定分支,并决定一个标签。如果你需要做一个补丁发布,一定要拣选(cherry-pick)出关键的 bug 修复,不要直接提交到稳定分支。

遵循准则

想让极狐GitLab Flow 发挥最大的作用?这里有几条准则强调了测试的重要性,即使在 CI 环境中也是如此。

极狐GitLab Flow 有什么好处?

极狐GitLab Flow 提供了一种简单、透明、高效的 Git 工作方式。使用极狐GitLab Flow,开发者可以在不同的环境中协作并维护多个版本的软件。极狐GitLab Flow 减少了发布、标记和合并的开销(这是其他类型 Git 工作流程中常见的挑战),创造了一种更简单的代码部署方式。提交流向下游,确保每一行代码都在所有环境中得到测试。任何规模的团队都可以使用极狐GitLab FLow,它具有适应各种需求和挑战的灵活性。

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用
售前咨询
联系电话
在线支持
预约演示