当前位置: 首页 > news >正文

【git】git管理规范--分支命名规范、CommitMessage规范

文章目录

    • 分支命名规范
      • 1. 主分支(main/master)
      • 2. 开发分支(develop)
      • 3. 功能分支(feat)
      • 4. 修复分支(fix)
      • 5. 发布分支(release)
      • 6. 热修复分支(hotfix)
      • 7. 支持分支(support)
      • 分支命名最佳实践
    • Git Commit Message规范
      • type
      • Scope
      • Subject
      • body
      • Footer
      • 示例

分支命名规范

1. 主分支(main/master)

  • 名称:main或master。
  • 用途:用于存放稳定的、可发布的代码。
  • 规则:只有一个主分支、不允许直接在主分支上提交代码,只能通过合并其他分支来更新。

2. 开发分支(develop)

  • 名称:develop。
  • 用途:用于集成开发中的功能分支。
  • 规则:从 main 分支创建、功能开发完成后,合并到 develop 分支。

3. 功能分支(feat)

功能分支(Feature)

  • 名称:feature/<feature-name>feat/<feature-name>
  • 用途:用于开发新功能。
  • 规则:从 develop 分支创建、功能开发完成后,合并回 develop 分支。
  • 示例:feature/user-authenticationfeat/add-payment-gateway

4. 修复分支(fix)

  • 名称:bugfix/ 或 fix/。
  • 用途:用于修复 bug。
  • 规则:从develop分支创建、修复完成后,合并回 develop 分支。
  • 示例:bugfix/login-errorfix/null-pointer-exception

5. 发布分支(release)

  • 名称:release/。
  • 用途:用于准备发布新版本。
  • 规则:从 develop 分支创建、发布完成后,合并到 main 和 develop 分支。
  • 示例:release/v1.0.0release/2023-10-01

6. 热修复分支(hotfix)

  • 名称:hotfix/。
  • 用途:用于紧急修复生产环境中的 bug。
  • 规则:从 main 分支创建、修复完成后,合并到 main 和 develop 分支。
  • 示例:hotfix/critical-security-issuehotfix/login-page-crash

7. 支持分支(support)

  • 名称:support/。
  • 用途:用于维护旧版本。
  • 规则:从 main 分支创建。
  • 示例: support/v1.0.x。

分支命名最佳实践

  • 使用小写字母和连字符:避免使用空格或特殊字符。
    正确:feature/user-authentication
    错误:feature/User Authentication
  • 包含上下文信息:在分支名称中明确用途和上下文。
    示例:fix/api-rate-limit
  • 关联 Issue 或任务编号:在分支名称中包含 Issue 编号或任务编号。
    示例:feature/PROJ-123-add-search
  • 避免过长的名称:保持简洁,同时确保信息完整。
    示例:feat/add-payment-gateway 而不是 feat/add-payment-gateway-integration-with-stripe

更多示例分支命名:

  • 功能开发
    feature/user-profile
    feat/add-search-functionality
  • Bug 修复
    bugfix/login-error
    fix/api-timeout-issue
  • 发布准备
    release/v1.2.0
    release/2023-10-01
  • 热修复
    hotfix/critical-security-issue
    hotfix/payment-gateway-crash
  • 支持旧版本
    support/v1.0.x
    support/legacy-api

Git Commit Message规范

格式:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

type

推荐的type类型如下:

  • feat: 新增功能
  • fix: 修复bug
  • docs: 仅文档更改
  • style: 不影响代码含义的更改(空白、格式设置、缺失 分号等)
  • refactor: 代码重构(既不修复 bug 也不新增功能)
  • perf: 改进性能的代码更改
  • test: 添加缺少的测试或更正现有测试
  • chore: 对构建过程或辅助工具和库(如文档)的更改
  • ci:自动化流程配置修改
  • revert:回滚到上一个版本

Scope

Scope(范围):说明提交的影响范围(可选)。例如:

  • feat(login):登录功能的新增。
  • fix(api):API 模块的修复。

Subject

Subject(主题):简洁描述提交的目的,不超过 50 个字符。

body

Body 部分

  • 详细描述提交的内容和背景。
  • 说明为什么需要这次提交,以及如何实现的。
  • 每行不超过 72 个字符。

Footer

Footer 部分

  • 用于关联 Issue、Breaking Changes 等。
  • 格式:
    • 关联 Issue:Closes #123 或 Fixes #123。
    • Breaking Changes:BREAKING CHANGE: <描述>。

示例

示例 1:新增功能

feat(login): add OAuth2 support

- Implement OAuth2 login flow
- Add support for Google and GitHub providers
- Update user authentication logic

Closes #45

示例 2:修复 bug

fix(api): resolve null pointer exception

- Add null check for user input
- Update error handling logic

Fixes #123

示例 3:文档更新

docs(readme): update installation instructions

- Add steps for setting up OAuth2
- Fix broken links

示例 4:代码重构

refactor(auth): simplify token validation logic

- Remove redundant checks
- Extract token validation into a separate function

示例 5:性能优化

perf(database): optimize query performance

- Add indexes to frequently queried columns
- Cache query results for 5 minutes

相关文章:

  • dockercompose如何重启单个服务和所有服务
  • 计算机网络笔记(四)——1.4计算机网络在我国的发展
  • FreeRTOSBug解析:一个任务printf打印一半突然跳转另一个任务,导致另一个任务无法打印
  • 深入探索Spring Boot 配置文件:类型、加载顺序与最佳实践
  • python中使用单例模式在整个程序中只创建一个数据库连接,节省资源
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例2,TableView15_02导出为CSV格式示例
  • PostgreSQL:简介与安装部署
  • Midjourney使用教程—1.提示词基础知识
  • Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
  • 使用PyMongo操作MongoDB(二)
  • 传奇怪物素材 8方向高清怪物 PNG格式 游戏怪物 14组
  • Android Fresco 框架工具与测试模块源码深度剖析(五)
  • 超图神经网络的详细解析与python示例
  • Spring Cloud Gateway 使用ribbon以及nacos实现灰度发布
  • leetcode日记(105)买卖股票的最佳时机Ⅱ
  • 蓝桥杯---哈希表第二题(leetcode是否为字符重新排列)
  • Linux:用 runc 构建 ARM 平台容器
  • 电动车出入库管理软件,电动车维修保养售后服务管理系统,佳易王电动车店管理系统操作教程
  • SQLMesh 系列教程:Airbnb数据分析项目实战
  • 一、初始 Linux
  • 这个死亡率第一的“老年病”,正悄悄逼近年轻人
  • 上昆“学馆制”10年,完成300出折子戏和20台大戏传承
  • 纽约市长称墨西哥海军帆船撞桥事故已致2人死亡
  • 芬兰西南部两架直升机相撞坠毁,第一批救援队已抵达现场
  • 美国考虑让移民上真人秀竞逐公民权,制片人称非现实版《饥饿游戏》
  • 61岁云浮市律师协会副会长谭炳光因突发疾病逝世