Arnold's Blog Arnold's Blog
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Arnold Shu

知人者智,自知者明。胜人者有力,自胜者强。
🏠首页
  • Java
  • Python
💻前端
🕸️周边技术
🗒️札记
  • Tips
  • 读书
  • 友情链接
🧑‍💻关于
🔖收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Maven

  • Git

    • Git常用命令以及概念
    • Git AloneFlow模式
      • AoneFlow模式组成
      • 使用流程
      • Git上的分支命名规范
      • Tag命名规范
      • 注意事项
  • Docker

  • Distributed

  • Linux

  • technology
  • Git
Arnold Shu
2023-10-10
目录

Git AloneFlow模式

# AoneFlow模式组成

一个主干分支+N个特性分支+N个发布分支 简单流程

# 使用流程

  • 开始工作前,从master创建feature分支 从代表最新已发布版本的master分支上创建一个通常以feature-前缀命名的特性分支,然后在这个分支上提交代码修改。也就是说,每个工作项(可以是一个人完成,或是多个人协作完成)对应一个feature特性分支,所有的修改都不允许直接提交到master分支。 简单流程

  • 通过合并feature分支,形成release分支。 从master分支上拉出一条新分支,将所有本次要集成或发布的feature分支依次合并过去,从而得到release分支。release分支通常以release/前缀命名。 简单流程

  • 发布到线上正式环境后,合并相应的release分支到master分支,在master分支上添加tag,同时删除该release分支关联的feature分支。 为了避免在代码仓库里堆积大量历史上的feature分支,还应该清理掉已经上线部分feature分支。如果要回溯历史版本,只需在master分支上找到相应的版本的tag即可。 简单流程

# Git上的分支命名规范

  • master: 主分支,永远是可用的、稳定的、可直接发布的版本,不能直接在master分支上开发;
  • feature: 功能开发分支,在master上创建分支,功能测试正常后合并到release分支。命名规则:feature/开发功能模块命名,eg:feature/login;
  • release:集成或分布分支,在master上创建,由需要集成或者发布的各个feature分支合并而成,发布确定稳定之后合并到master分支,命名规则:release/作用意图,eg:release/test,release-prod;
  • hotfix: 紧急bug修改分支,项目上线之后可以会遇到一些环境问题需要紧急修复,在master分支上创建,流程跟release分支相似,修复完成后合并到master分支。命名规则:hotfix/版本号/顺序号,eg:hotfix/v1.0.0/001,若已存在,则命名为hotfix/v1.0.0/002,其中,版本号为对应线上版本号。若有历史版本Bug需要修复,在主干分支找到版本标签位置,然后从那个位置创建 hotfix 分支。

# Tag命名规范

命名规则:V主版本号.次版本号.修订号,eg:V1.0.0 版本号递增规则如下:

  • 主版本号:全盘重构时增加;重大功能或方向改变时增加;大范围不兼容之前的接口时增加;
  • 次版本号:增加新的业务功能时增加;
  • 修订号:增加新的接口时增加;在接口不变的情况下,增加接口的非必填属性时增加;增强和扩展接口功能时增加。

# 注意事项

  • 一个分支尽量开发一个功能模块,不要多个功能模块在一个分支上开发。
  • 开发过程中,如果组员A开发的功能依赖组员B正在开发的功能,可以待组员B开发好相关功能之后,组员A直接pull组员B的分支下来开发,不需要先将组员B的分支 merge 到feature分支。
#git#版本控制#AloneFlow
上次更新: 2024/03/22, 09:55:29
Git常用命令以及概念
Docker使用经验手册

← Git常用命令以及概念 Docker使用经验手册→

最近更新
01
《领域驱动设计:软件核心复杂性应对之道》书摘
12-26
02
Linux 的常用命令
10-22
03
程序设计中SPI和API
10-22
更多文章>
Theme by Vdoing | Copyright © 2017-2024 Arnold Shu | CC BY-SA 4.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式