企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Git规范,你都用对了吗?(git 规范)

wudianyun 2025-02-03 15:30:55 精选文章 17 ℃

为了保持代码仓库的整洁和一致性,以及提高团队协作效率,我们需要规范Git的使用方式,包括分支(branch)、提交(commit)、标签(tag)的管理。

分支(Branch)

主分支(master)

  • 项目的主分支,有且仅有一个。主要用于存放和记录整个项目已完成的功能代码。
  • 除项目负责人外,其他开发人员不得直接向 master 分支合并内容。
  • 通常与线上的生产环境(prod)相对应。

开发分支(develop)

  • 主开发分支,有且仅有一个。用于存放和记录所有确定性的功能(上线和未上线)。
  • 各功能开发完成后,经过测试(qa)和验证(release/pre)的功能可以合并到该分支。
  • 开发新功能、修复 BUG 时从主开发分支拉取代码到各新分支进行开发
  • 功能分支(feature):用于开发新功能,命名规范通常为 feature/{feature_name}
  • 紧急 BUG 修复分支(hotfix):用于修复紧急的线上 BUG,命名规范通常为 hotfix/{bug_name}
  • 非紧急 BUG 修复分支(bugfix):用于修复非紧急的 BUG,命名规范通常为 bugfix/{bug_name}

测试分支(qa)

  • 测试分支,有且仅有一个。由主要开发人员通过合并请求实现测试部署,交予测试人员进行质量校验。
  • 禁止直接对该分支提交内容,测试分支应该由开发分支提交合并请求而来。
  • 通常与质量测试环境(qa)相对应。

验证分支(release/pre)

  • 预发布分支,有且仅有一个。在发布正式版本之前,需要有一个预发布的版本进行验证。
  • 各功能开发完成后,经过测试(qa)的功能可以合并到该分支。
  • 通常与预生产环境(pre)相对应。

提交(commit)

提交原则

  • 每次提交应只包含一个功能或修复一个 BUG,避免混合多个不相关的改动。
  • 提交信息应该清晰明了,能够准确反映代码改动的内容和目的。

提交格式

# Header头
(): 

# Body
()

# Footer
()
()

type

类型

属性

描述

feat

增加新功能

fix

修复 bug

docs

只改动文档相关的内容

style

不影响代码含义的格式修改,比如去掉空格、改变缩进、增删分号

refactor

重构(既不是新增功能,也不是修改 BUG 的改动)

build

构建工具或外部依赖的改动

revert

回滚版本

test

添加测试或修改现有测试

perf

性能提升

chore

不修改 src 或 test 的其余改动,例如构建过程或辅助工具的变动

ci

与 CI(持续集成服务)有关的改动

scope

影响范围,一般为修改的模块或者功能

subject

简短描述,5~10 个字简单描述做的任务

body

详细描述,对于功能详细的描述,解释为什么加入这段代码,为什么调整优化等

breaking changes

当前版本与之前版本不兼容,如迭代升级对之前版本不能做到兼容,就需要在 breaking changes 后面描述变动理由和迁移方法之类,不常用

closed issue

当前提交针对某个 issue 问题或是 bug 编号等

示例:

fix(登录模块):修改登录方式

将账号密码登录调整为手机号验证码快捷登录

breaking changes:登录逻辑调整,不兼容老版本
closed #1026

可使用 IDEA 的 Git Commit Message Helper 插件统一标准规范

标签(tag)

版本标签

  • 用于标记项目的稳定版本,方便回溯和发布。
  • 命名规则:{分支名称}_v{版本号}_{日期}。其中,版本号:{主版本号}.{次版本号}.{修订版本号};日期格式:yyyyMMdd。

其他标签

  • 根据需要创建其他类型的标签,如里程碑标签、特殊功能标签等。
  • 命名应清晰明了,避免歧义。
最近发表
标签列表