使用 Git Flow 管理开发流程

发布于 2024-04-27 05:16:44 字数 2514 浏览 25 评论 0

我们都知道,在 git 的分支功能相对 svn 确实方便许多,而且也非常推荐使用分支来做开发。我的做法是每个项目都有 2 个分支,master 和 develop。master 分支是主分支,保证程序有一个 稳定版本,develop 则是开发用的分支,几乎所有的功能开发,bug 修复都在这个分支上,完成后 再合并回 master。

但是情况并不是这么简单。有时当我们正在开发一个功能,但程序突然出现 bug 需要及时去修复的时候,这时要切回 master 分支,并基于它创建一个 hotfix 分支。有时我们在开发一个功能时,需要停下来去开发另一个功能。而且所有这些问题都出现 的时候,发布也会成为比较棘手问题。

也就是说,git branch 功能很强大,但是没有一套模型告诉我们应该怎样在开发的时候善用 这些分支。于是有人就整理出了一套比较好的方案 A successful Git branching model ,今天我们就一起来学习下这套方案。

简单来说,他将 branch 分成 2 个主要分支和 3 个临时的辅助分支:

主要分支

  • master:永远处在即将发布(production-ready) 状态
  • develop:最新的开发状态

辅助分支

  • feature:开发新功能的分支,基于 develop,完成后 merge 回 develop
  • release:准备要发布版本的分支,用来修复 bug。基于 develop,完成后 merge 回 develop 和 master
  • hotfix:修复 master 上的问题,等不及 release 版本就必须马上上线。基于 master,完成后 merge 回 master 和 develop

作者还提供了 git-flow 命令工具:

$ git flow init

接着它会问你一系列的问题,蛋定!尽量使用它的默认值就好了:

No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

完成后当前所在分支就变成 develop。任何开发都必须从 develop 开始:

git flow feature start some_awesome_feature

完成功能开发之后:

git flow feature finish some_awesome_feature

该命令将会把 feature/some_awesome_feature ​ 合并到 develope 分支,然后删除功能(feature)分支。

将一个 feature 分支推到远程服务器:

git flow feature publish some_awesome_feature
或者
git push origin feature/some_awesome_feature

当你的功能点都完成时(需要发布新版本了),就基于 develop 创建一个发布(release)分支,然后升级版本号并在最后发布日期前把 Bug Fix 掉吧:

$ git flow release start v0.1.0

当你在完成(finish) 一个发布分支时,它会把你所作的修改合并到 master 分支,同时合并回 develop 分支,所以,你不需要担心你的 master 分支比 develop 分支更加超前。

最后一件让 git-flow 显得威武的事情是它处理热修复(即时的 BugFix)的能力,你可以像其他分支一样地创建和完成一个热修复分支,区别是它基于 master 分支,因此你可以在产品出现问题时快速修复,然后通过 finish 命令把修改合并回 master 和 develop 分支。

git flow on github: https://github.com/nvie/gitflow

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

君勿笑

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文