|5 个 Git 工作流,改善你的开发流程


|5 个 Git 工作流,改善你的开发流程
文章图片
|5 个 Git 工作流,改善你的开发流程
文章图片
|5 个 Git 工作流,改善你的开发流程


原文地址:5 Git workflows you can use to deliver better code and improve your development process
原文作者:Vikash Koushik
译者:陈元
校对者:HelloGitHub-丫丫

我还没有遇到过一个开发人员 , 在查看 Git 分支合并的冲突信息时不抓耳挠腮 。
解决 Git 合并冲突是每个开发人员都讨厌的事情之一 , 尤其是当你准备进行生产环境部署时!
正确的设置 Git 工作流可以改善你的 开发流程 。
当然 , 拥有正确的 Git 工作流并不能解决你的所有问题 。 但这是朝正确方向迈出的一步 。 毕竟 , 由于每个团队都是远程工作的 , 在不破坏代码库的情况下共同开发产品功能是非常重要的 。
如何设置 Git 工作流取决于你正在开发的项目、团队的发布计划、团队的规模等等!
在本文中 , 我们将向你介绍 5 种不同的 Git 工作流 , 它们的优点 , 缺点以及使用它们的时机 。 让我们开始吧!
1. 基本的 Git 工作流最基本的 Git 工作流是只有一个分支 - master 分支的模式 。 开发人员直接提交 master 分支并使用它来部署到预发布和生产环境 。
上图为基本的 Git 工作流 , 所有提交都直接添加到 master 分支 。
通常不建议使用此工作流 , 除非你正在开发一个 side 项目并且希望快速开始 。
由于只有一个分支 , 因此这里实际上没有任何流程 。 这样一来 , 你就可以轻松开始使用 Git 。 但是 , 使用此工作流时需要记住它的一些缺点:
  1. 在代码上进行协作将导致多种冲突 。
  2. 生产环境出现 bug 的概率会大增 。
  3. 维护干净的代码将更加困难 。
2. Git 功能分支工作流当你有多个开发人员在同一个代码库上工作时 , Git 功能分支工作流将成为必选项 。
假设你有一个正在开发一项新功能的开发人员 。 另一个开发人员正在开发第二个功能 。 现在 , 如果两个开发人员都向同一个分支提交代码 , 这将使代码库陷入混乱 , 并产生大量冲突 。
上图为具有功能分支的 Git 工作流模型 。
为避免这种情况 , 两个开发人员可以分别从 master 分支创建两个单独的分支 , 并分别开发其负责的功能 。 完成功能后 , 他们可以将各自的分支合并到 master 分支 , 然后进行部署 , 而不必等待对方的功能开发完成 。
使用此工作流的优点是 , Git 功能分支工作流使你可以在代码上进行协作 , 而不必担心代码冲突 。
3. 带有 Develop 分支的 Git 功能分支工作流此工作流是开发团队中比较流行的工作流之一 。 它与 Git 功能分支工作流相似 , 但它的 develop 分支与 master 分支并行存在 。
在此工作流中 , master 分支始终代表生产环境的状态 。 每当团队想要部署代码到生产环境时 , 他们都会部署 master 分支 。
Develop 分支代表针对下一版本的最新交付的代码 。 开发人员从 develop 分支创建新分支 , 并开发新功能 。 功能开发完毕后 , 将对其进行测试 , 与 develop 分支合并 , 在合并了其他功能分支的情况下使用 develop 分支的代码进行测试 , 然后与 master 分支合并 。
上图为具有 develop 分支的 Git 功能分支工作流模型 。
此工作流的优点是 , 它使团队能够一致地合并所有新功能 , 在预发布阶段对其进行测试并部署到生产环境中 。 尽管这种工作流让代码维护变得更加容易 , 但是对于某些团队来说 , 这样做可能会感到有些疲倦 , 因为频繁的 Git 操作可能会让你感到乏味 。


推荐阅读