0

0

Python commit message 的 Conventional Commits 规范

冷漠man

冷漠man

发布时间:2026-02-24 21:02:02

|

697人浏览过

|

来源于php中文网

原创

必须用conventional commits,因semantic-release等工具依赖feat:、fix:、chore:等前缀自动判定变更类型并生成changelog和版本号;python项目需小写前缀+英文冒号空格,范围用具体技术如poetry、black,避免模糊词与废话。

python commit message 的 conventional commits 规范

commit message 为什么必须用 Conventional Commits? 因为 Git 工具链(比如 semantic-releaseconventional-changelog)只认 feat:fix:chore: 这类前缀来自动判断变更类型和生成 CHANGELOG。不用它,自动化版本号 bump 和发布就直接失效——不是“推荐”,是工具链的硬性输入格式。

Python 项目里怎么写才合规? 说明:Conventional Commits 本身语言中立,但 Python 项目常因依赖管理、测试、打包等场景产生特殊提交,需注意语义对齐。
实操建议:
- 前缀必须小写,后跟英文冒号和空格,例如:feat(python): add pyproject.toml support
- 范围(括号内)建议用技术上下文,比如 testpoetryblacksetup.py,而不是模糊的 ciinfra
- 如果改的是纯文档或 .gitignore,用 docschore,别硬套 feat
- 避免在 message 里写“修复 bug”这种废话,直接说清影响,比如:fix(setuptools): pin setuptools <h3>哪些错误会让 CI 拒绝提交? 常见现象:<code>npm ERR! commit-msg hook failed 或 GitHub Actions 报 invalid commit format
原因和应对:
- 前缀拼错,比如写成 Feat:(首字母大写)、feature:(规范不认这个词)→ 只能用官方列表里的:featfixdocsstylerefactortestchorerevert
- 冒号后没空格,例如:fix:remove unused import → 必须是 fix: remove unused import
- 提交多于一行时,body 没空行分隔 header → 第二行开始算 body,header 和 body 之间必须有空行
- 使用中文标点或全角空格 → 全部用 ASCII 字符

Python 开发者最容易忽略的细节 - chore 不等于“杂活”,它特指不影响源码逻辑的维护操作,比如升级 pre-commit 配置、更新 .pre-commit-config.yaml,但修改 pyproject.toml 中的 [tool.black] 属于 chore;而加一个新 black 插件并调整代码风格,则属于 feat
- refactor 不能用于重命名变量或函数——那属于 chorestyle;只有当重构改变了模块职责、拆分/合并类、替换算法实现时,才算 refactor
- 如果一次提交同时含功能新增和文档更新,优先按主要意图定前缀,次要内容写进 body,并用 Co-authored-by 标注协作者(如果适用)

Conventional Commits 的复杂性不在语法,而在每次提交前得想清楚:这次改的到底算什么“变更类型”。很多人卡在这一步,不是不会写,是不敢判。

Peppertype.ai
Peppertype.ai

高质量AI内容生成软件,它通过使用机器学习来理解用户的需求。

下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

866

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

452

2024.06.27

常见的编码方式
常见的编码方式

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。想了解更多编码方式相关内容,可以阅读本专题下面的文章。

635

2023.10.24

a和A对应的ASCII码数值
a和A对应的ASCII码数值

a的ascii码是65,a的ascii码是97;ascii码表中,一个字母的大小写数值相差32,一般知道大写字母的ascii码数值,其对应的小写字母的ascii码数值就算出来了,是大写字母的ascii码数值“+32”。想了解更多相关的内容,可阅读本专题下面的相关文章。

2206

2024.10.24

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2767

2026.01.21

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

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

914

2023.07.05

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

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

575

2023.07.06

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

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

273

2023.07.24

Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

1

2026.02.24

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 4.5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.7万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号