Hexo Material主题开发规范:Commit Message编写指南
hexo-theme-material 项目地址: https://gitcode.com/gh_mirrors/hex/hexo-theme-material
前言
在Hexo Material主题的开发过程中,规范的commit message对于维护代码库的健康状态至关重要。本文将详细介绍如何编写符合规范的commit message,帮助开发者更好地参与项目协作。
Commit Message基本结构
一个标准的commit message由三部分组成:
- 标题(Header)
- 正文(Body)
- 页脚(Footer)
格式如下:
<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>
1. 标题(Header)规范
标题是commit message中最重要的一部分,它由三个元素组成:类型(type)、范围(scope)和主题(subject)。
1.1 类型(Type)
类型用于描述commit的性质,必须是以下之一:
feat
:新增功能fix
:修复bugdocs
:文档更新style
:代码格式调整(不影响代码逻辑)refactor
:代码重构(既不是新增功能,也不是修复bug)test
:测试相关变更chore
:构建系统或依赖项的变更
1.2 范围(Scope)
范围用于说明commit影响的部分,在Hexo Material主题中常见的scope包括:
sns
:社交分享功能lang
:语言包相关share
:分享组件layout
:布局相关style
:样式相关
范围应放在类型后的括号内,如:feat(sns)
1.3 主题(Subject)
主题是对commit目的的简短描述,需遵循以下规则:
- 使用动词原形开头(如change,而非changed或changes)
- 首字母小写
- 不超过50个字符
- 结尾不加句号
示例:feat(sns): add weibo share button
2. 正文(Body)规范
正文是对变更的详细说明,应包含以下内容:
- 变更的动机和背景
- 与之前行为的对比
- 技术实现的细节(可选)
格式要求:
- 每行不超过72个字符
- 段落间用空行分隔
- 可以使用项目符号列表
- 使用悬挂缩进
示例:
Add new social share button for Weibo platform. The button will
appear when 'weibo' is configured in theme config.
- Implement weibo share API integration
- Add corresponding icon assets
- Update documentation for new feature
3. 页脚(Footer)规范
页脚仅在两种情况下使用:
3.1 不兼容变更
如果当前提交引入了不兼容的变更,必须以BREAKING CHANGE:
开头,后接变更描述、原因和迁移指南。
示例:
BREAKING CHANGE: Change social share API interface
The share API now requires 'platform' parameter to be passed explicitly.
Migration guide:
Before:
share('url', 'title')
After:
share('url', 'title', 'platform')
3.2 关闭Issue
如果提交解决了某个Issue,可以在页脚中关闭它。
示例:
Closes #123
可以同时关闭多个Issue:
Closes #123, #456, #789
4. 撤销提交(Revert)规范
如果需要撤销之前的提交,commit message必须以revert:
开头,后接被撤销提交的标题。
格式固定为:
revert: <被撤销提交的标题>
This reverts commit <被撤销提交的hash>.
示例:
revert: feat(sns): add weibo share button
This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
最佳实践建议
- 原子性提交:每个提交应该只做一件事,保持提交的原子性
- 描述清晰:确保提交信息能够清晰地表达变更内容
- 英文规范:使用现在时态、祈使语气
- 关联上下文:对于复杂变更,提供足够的背景信息
- 保持简洁:在清晰的前提下尽量简洁
结语
遵循这些规范将有助于:
- 生成更有意义的变更日志
- 方便其他开发者理解变更历史
- 简化代码审查过程
- 提高项目的可维护性
希望本文能帮助开发者更好地为Hexo Material主题贡献代码。规范的commit message是高质量开源项目的重要标志,也是开发者专业素养的体现。
hexo-theme-material 项目地址: https://gitcode.com/gh_mirrors/hex/hexo-theme-material
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考