讲师中心 微信公众号
AI工具推荐 视频效率加速

Conventional Git

Polar Sponsor
爱发电 赞助
.NET 9.0

Conventional Commits v1.0.0 分支、工作树命名及提交信息规范,适用于 GitHub 与 GitLab 项目,用于创建分支和命名工作树等场景。

常规提交和分支命名

功能概述

常规提交和分支命名是一项面向实际任务的技能,主要用于既针对分支名称又针对承诺消息遵循常规提交 v1. 0.0 —— 一致命名让工具自动生成变换日志, 强制执行 SemVer 缓冲。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

约定式提交(Conventional Commits)与分支命名规范

分支名称和提交信息均须遵循 Conventional Commits v1.0.0 规范 —— 统一的命名方式可使工具自动生成功能变更日志(changelog)、强制执行语义化版本(SemVer)升级策略,并按关注点(concern)筛选提交历史。

分支命名

格式:/[issue-] —— 全小写,仅使用短横线(-)分隔单词,除斜杠(/)外不得包含其他特殊字符。

feat/user-authentication
feat/42-user-authentication
fix/login-race-condition
fix/87-login-race-condition
docs/api-reference-update
refactor/payment-module

若存在对应 issue,则应在分支名前缀中加入 issue 编号 —— GitHub 与 GitLab 会自动将其链接至 issue 系统,且能使 git log 输出立即追溯到问题追踪器。描述部分应控制在 50 个字符以内 —— 大多数 Git 图形界面在列表中显示分支名时即在此长度附近截断。请确保 type 准确反映当前工作内容 —— 这是读者快速理解分支意图的核心契约。

严禁 在分支名中包含 worktree —— Git worktree 是一种本地检出机制,不属于分支概念;将其混入分支名会将实现细节泄露至远程仓库,干扰其他协作者的理解。

Worktree 命名

Worktree 是本地检出目录,永远不会出现在远程仓库中。请统一将其置于 .claude/worktrees/ 目录下,并将分支名中的斜杠(/)替换为短横线(-)作为 worktree 目录名。

git worktree add .claude/worktrees/feat-user-authentication feat/user-authentication
git worktree add .claude/worktrees/fix-87-login-race-condition fix/87-login-race-condition

目录名与分支名保持镜像关系,以确保 git worktree list 输出清晰可读,且每个 worktree 可不依赖检出状态而直接追溯至其所属分支。创建新 worktree 前,请先运行 git worktree list —— 若已有 worktree 已覆盖相同分支,请复用该 worktree。

每个 worktree 应严格限定于单一分支。在他人 worktree 中开展无关工作,将导致变更归属模糊、清理操作易出错。

分支合并后请立即移除对应 worktree —— 可在本地完成合并后执行,也可在远程 Pull Request / Merge Request 关闭后执行。残留的 stale worktree 将不断累积,最终导致 git worktree list 输出难以阅读。

git worktree remove .claude/worktrees/feat-user-authentication   # 分支已在本地合并
git worktree prune                                                # 清理已删除目录的引用

提交信息格式

[optional scope]: 
[optional body]
[optional footer(s)]

类型(Types):

类型 SemVer 适用场景
feat MINOR 新增功能
fix PATCH 修复缺陷(bug)
docs 仅修改文档
style 代码格式调整(无逻辑变更)
refactor 代码重构(不涉及功能或缺陷修复)
perf 性能优化
test 新增或修复测试
build 构建系统、依赖项相关变更
ci CI 配置变更
chore 其他杂项任务(非源码/测试文件变更)
revert 回退某次先前提交

规则:

  • 主题行(subject line)长度 ≤ 72 字符 —— Git 日志及 GitHub/GitLab UI 会静默截断超长主题行
  • 使用祈使语气(imperative mood):写 add 而非 added —— 表达为指令而非历史记录
  • 首字母不需大写,末尾不加句号 —— 确保变更日志(changelog)工具可统一解析
  • 正文(body)须与主题行空一行分隔 —— 解析器依据首个空行切分 header/body
  • 破坏性变更(breaking changes):可在 type/scope 后添加 !,或在 footer 中添加 BREAKING CHANGE:(二者均触发 MAJOR 版本升级)—— 仅在正文中描述破坏性变更将无法被 changelog 工具识别
  • revert 类提交 必须 在正文中包含 This reverts commit . —— git revert 命令自动生成此行,请勿手动删除
  • 严禁 在提交信息中添加 Claude 签名、AI 代理署名,或为 Claude 或任何其他 AI 代理添加 Co-authored-by trailer

示例:

feat(auth): add JWT token refresh
fix: prevent race condition on concurrent requests

Introduce request ID and reference to latest request.
Dismiss responses from stale requests.
refactor!: drop support for Go 1.18

BREAKING CHANGE: Go 1.18 no longer supported; uses stdlib APIs from 1.21+

通过提交信息关闭 Issue

GitHub 与 GitLab 均支持识别提交信息中的关键词,并在该提交落地至默认分支(default branch)时自动关闭所引用的 issue。建议将 issue 引用置于 footer 区域(更优实践 —— 保持主题行简洁)。

关键词(不区分大小写): closeclosesclosedfixfixesfixedresolveresolvesresolved

GitHub:

fix(auth): prevent token expiry race condition

Closes #42
Closes owner/repo#99
  • 仅当合并至 默认分支(通常为 main)时触发
  • 跨仓库引用:Closes owner/repo#42
  • 批量关闭:Closes #42, closes #43
  • 同样适用于 PR 描述(PR description)

GitLab:

feat: add dark mode support

Resolves #101
Closes group/project#42
  • 仅当合并至 默认分支(各项目可单独配置)时触发
  • 跨项目引用:Closes group/project#42
  • 批量关闭:Closes #101, closes #102
  • 同样适用于 MR 描述(MR description)

提示: 提交类型应与 issue 类型匹配 —— 如 fix: 用于关闭缺陷类 issue,feat: 用于关闭功能需求类 issue —— 此举可保障生成的 changelog 语义连贯、逻辑清晰。

常见错误

错误示例 修正方式
feat: Added login page feat: add login page —— 使用祈使语气,首字母小写
fix: fix bug. fix: fix bug —— 删除末尾句号
主题行超过 72 字符 精简主题行;细节移至正文(body)
破坏性变更仅在正文中描述 添加 !BREAKING CHANGE: footer —— 仅靠正文描述无法被工具识别
feat(adding-auth): ... feat(auth): ... —— scope 应为名词,而非动词
Closes #42 出现在主题行中 移至 footer —— 保证主题行简洁、可解析

最佳实践

  • 保持分支类型与提交类型一致 —— 如 feat/auth-* 分支 → 对应提交应为 feat(auth):
  • 每一分支聚焦单一关注点 —— 在功能分支中混入修复类变更将导致 changelog 混乱难读
  • 在单一分支内保持 scope 使用一致性 —— 如全程使用 feat(auth):,避免中途改为 feat(user):
  • 合并且压缩(Squash merge): 当对 PR/MR 执行 squash merge 时,该分支所有提交将被压缩为一条;此时 PR/MR 标题即成为最终提交信息。若标题未遵循 Conventional Commits 格式,changelog 生成将静默失败。因此,请务必在执行 squash 操作前设置好 PR 标题。
目录

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2281

2024.04.09

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2517

2024.04.09

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

714

2023.07.24

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1260

2023.07.06

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

3859

2023.07.05

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

0

2026.09.21

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

0

2026.09.21

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 7.8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn