如何写 commit message?

前言

每次写 commit message 时,都会纠结用什么动词,格式应该什么样,所以决定总结一下。

查了一下,还是挺复杂的。因为只面向我个人日常使用,所以只进行一些简单的、适合我的总结。

正文

message 分为两部分,type 和 subject。

1)type

用于说明 commit 的类别,只允许使用下面 7 个标识。

  • feat:新功能,为用户添加新的特性或功能(不包括构建脚本的新功能,像是 Dockerfile、环境配置、CI/CD 配置文件等)。
    示例:添加用户登录功能。
  • fix:修复用户遇到的 bug(不包括构建脚本的修复)。
    示例:修复用户界面显示错误。
  • docs:文档变更,如更新 README、API 文档或注释。
    示例:添加项目安装指南。
  • style:代码格式化或样式调整,不影响功能(例如缩进、加分号)。
    示例:统一代码缩进为 2 个空格。
  • refactor:重构生产代码,优化结构但不更改功能(例如重命名变量)。
    示例:将函数名从 getData 改为 fetchData。
  • test:添加或重构测试代码,不影响生产代码。
    示例:为登录功能添加单元测试。
  • chore:杂项任务,如更新构建工具、依赖或配置,不影响生产代码。
    示例:修改 Dockerfile。

另外注意不要大写开头字母。

2)subject

是 commit 目的的简短描述,不超过50个字符。有以下几个注意点:

  • 以动词开头,使用第一人称现在时,比如 change,而不是 changed 或 changes;
  • 第一个字母小写;
  • 结尾不加句号(.)。

示例(日常积累)

  • docs: add notes for Redis Application Chapter 1
  • chore: update .gitignore to include .ipynb_checkpoints
  • chore: remove redundant .ipynb_checkpoints folder

参考

  1. Commit message 和 Change log 编写指南
  2. vue-lib contribution guidelines
相关推荐
zhensherlock21 小时前
Protocol Launcher 系列:Trello 看板管理的协议自动化
前端·javascript·typescript·node.js·自动化·github·js
YoseZang1 天前
【手工】git的使用 – 使用git进行项目协作
git
惺忪97981 天前
git 多个branch对多个版本进行管理
git
夜瞬1 天前
Git工作流程与常用指令——从本地开发到远程协作
大数据·git·elasticsearch
FEF前端团队1 天前
开发知识库 #01:Git 全面操作教程
git·github
栩栩云生1 天前
x-cmd v0.8.15: claw AI 助手升级,连微信、飞书更稳了;free 新增专家模式,直接把底层内存细节喂给你
github·agent·命令行
傻啦嘿哟1 天前
Python 文件批量处理:重命名/备份/同步运维实战指南
linux·数据库·github
淘矿人1 天前
Claude辅助算法设计与优化
人工智能·python·算法·microsoft·github·bug·pygame
逛逛GitHub1 天前
给 10 万 Star 的 Hermes 装个记忆外挂,AI 终于能越用越聪明了。
github
王莎莎-MinerU1 天前
MinerU 生态全接入:LangChain、Dify、RAGFlow、LlamaIndex 六大框架完整集成指南(2026)
计算机视觉·chatgpt·langchain·pdf·github·aigc