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

【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


http://www.kler.cn/a/594263.html

相关文章:

  • Microchip AN1477中关于LLC数字补偿器的疑问
  • k8s搭建kube-prometheus
  • 如何制作一个手机用的电动3D扫描转盘
  • Nginx面试题
  • LoRaWAN技术解析
  • eclipse运行配置,希望带参数该怎么配置
  • 基于springboot的母婴商城系统(018)
  • Spring Boot 异步返回对象深度解析
  • word插入Mathtype公式居中和自动更新
  • dify内置数据库PostgreSQL的时间字段的值跟当前时间对不上,如何解决?
  • 能快速搭建网站的模板资源平台
  • OpenWrt开发第4篇:设置开发板的IP-基于Raspberry Pi 4B开发板
  • [spring] Spring JPA - Hibernate 多表联查 1
  • JVM OOM问题如何排查和解决
  • Python连接数据库进行增删改查
  • 【Prometheus】prometheus标签替换label_replace,动态修改生成标签,增强查询的灵活性和表达能力
  • Unity 使用Odin插件解决多层字典配置文件问题
  • 嵌入式4-Modbus
  • 单片机flash存储也做磨损均衡
  • 【AI】在AWS AI芯片服务上部署运行Qwen 2.5模型