跳至主要內容

Git

Section9lab...大约 3 分钟Toolstoolsgit

Git


GitFlow规范

GitFlow
GitFlow
# 1 Master 分支
提供基础分支,其他版本随时从主分支切分出去做版本开发;只能从release和hotfix分支合并过来,研发不可直接commit到主分支。
版本发布从合并后的主分支上打tag

# 2 Develop 分支
这个分支是开发分支,新增功能时候需要基于开发分支切分出 Feature 或以自己命名的分支,所有的Feature或命名分支都是从这个分支切出去的。
而 Feature 或命名分支的功能完成后,都会再合并到这个分支上来。

# 3 Hotfix 分支
客户的现场产品版本发生紧急故障时候,会从Master分支开一个Hotfix分支进行修复,Hotfix 修复完成后要再合并到Master和Develop 分支。
为什么合并回Dev分支?防止Dev合并到Master分支会被覆盖,故障再次出现。
为什么不在Dev分支修复?Dev还在开发,会有其他未知风险。

# 4 Release 分支
Develop分支成熟后可以合并到 Release 分支。做完最后的测试 Release 分支将会同时合并到 Master 以及 Develop 這两个分支上。

# 5 Feature||name 分支
Feature 分支都是从 Develop 分支來的,完成之后会在合并回 Develop 分支。

常驻分支只有两个master、develop;
其中master是最新的,发布后需要在master上打版本tag,develop数据开发分支 临时分支有三个Release、Feature、Hotfix;
其中release属于开发阶段用于质量测试的临时分支,feature属于开发过程中新作的功能,hotfix属于发布版本后再发现的问题修复

commit 规范

格式

<type>(<scope>): <subject>
# 空一行
<body>
# 空一行
<footer>

提示

type

  • feat:新特性
  • fix: 修复bug
  • docs: 文档
  • style:格式
  • refactor:重构(不是新增功能,也是修改bug的代码变动)
  • perf:优化相关,比如提升性能、体验
  • test:增加测试
  • chore:构建过程或辅助工具的变动
  • revert:回滚到上一个版本
  • merge:代码合并
  • sync:同步分支代码

scope

  • scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同

subject

  • subject是 commit 目的的简短描述,不超过50个字符

body

  • 详细说明,可以省略
  • 须关闭的Jira号或者链接

案例说明

冒号后和'subject'要加一个空格,目的是在IDEA历史记录里看上去干净

feat: 用户查询接口开发 Close#RM-23412
fix(DAO): 用户查询缺少username属性 Close#BUG-23412

如果subject无法说明本次提交可以考虑body描述详细信息

feat: 客户交易金额同步至风控平台

1、调用分控平台API_XXX
2、调用redis接口
3、xxx分布一致性

Close#RM-23412

[参考]

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.6