Git workflow 分支使用说明

分支在应用开发,特别是在一个团队开发模式下应该是必备,目前团队中存在不善于使用分支的情况,举一个简单的场景:

我们的项目在周一和周三分别有两个版本点,版本内容包含不同的特性,比如周一版本使用老的表名规范,周三版本采用新的表名规范。在版本开发过程中可能会有各种 bug fix 提交到主分支上 。

目前我们采用的是开发计划和版本点同步的策略,也就是周一发版之后才对进行周三版本的开发工作。
这样做当然就不需要建立分支,也看似非常方便,但代价就是周一和周三之间开发时间太少,不适合版本迭代。

我的建议是要建立分支,而且要尽可能多地建立分支。

要做要这一点,必须要回答三个问题:

  1. 什么情况下需要建立分支 ?
  2. 如何保证和主分支同步 ?
  3. 如何单独发布模块特性分支代码?

以 lobby-console 子模块为例:

对于这个模块周三版本需要增加两个 feature

  • 按照最新的数据字典规范化表名
  • 改造日志框架加入 zdogs

对于这两个需求,项目经理可以根据版本发布时间分派一个特性分支:

  • feature-PATCH-20190830

开发步骤一般如下:

1. 创建并切换到特性分支
git checkout -b feature-PATCH-20190830

2. 进行特性分支的开发
3. 开发完成,准备测试前同步主分支代码到特性分支:
git commit -am "feature-PATCH-20190830:complete"
git merge origin/master
git push origin feature-PATCH-20190830
4. 打包发布测试

其中需要注意绩点:

  1. 在 feature 分支上建议每次提交之前都保持和主分支同步( git rebase master),从而避免合并代码冲突的问题
  2. 目前一键发布脚本不支持指定分支发布(建议之后加上)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 仓库申请流程 1. 开发主管向Git 管理员提交Git 仓库申请【邮件:发送给Git 管理员,抄送给项目经...
    骚包霸天虎阅读 6,367评论 0 0
  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 9,917评论 2 8
  • 译自:A successful Git branching model » nvie.com 本文将展示我一年前在...
    零一间阅读 5,642评论 0 3
  • 简介 现代软件开发过程中要实现高效的团队协作,需要使用代码分支管理工具实现代码的共享、追溯、回滚及维护等功能。目前...
    Lucas66阅读 12,581评论 0 5
  • 翻译:一个成功的Git分支模型 原文链接:http://nvie.com/posts/a-successful-g...
    孙阔阅读 4,288评论 0 1