规范的 commit (Angular规范)
1. commit message
-
commit message 分3个部分:head, body, footer
- head:
(scop): subject - type: feat, fix, docs, style, refactor, test, chore, revert, perf, build
- score: 影响范围
- subject: 简短描述(动词开头,首字母小写,结尾不加.)
- body: 详细描述
- footer: (1) 不兼容改动;(2) 关闭issue
- head:
-
revert 有特殊的格式
# head: revert: <要被撤销的commit的head> # body: This reverts commit. # eg:revert: docs add README.mdThis reverts commit a2d04c0b914785e4ff0cdf4baeea84d8611c7a61.
2. 一些规范commit message的工具
-
commitizen:辅助编写规范的commit message
# 安装commitizen cnpm install -g --save-dev commitizen # 生成package.json文件 npm init --yes # 设置支持commit message格式 commitizen init cz-conventional-changelog --save --save-exact使用
git cz代替git commit

type介绍type detail 说明 feat A new feature 新功能 fix A bug fix 修复 bug docs Documentation only changes 文档修改 style Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc) 格式(不影响代码运行的变动) refactor A code change that neither fixes a bug nor adds a feature 重构 perf A code change that improves performance 提高性能 test Adding missing tests or correcting existing tests 添加缺失测试或更正现有测试 build Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) 依赖的外部资源变化 chore Other changes that don’t modify src or test files 构建过程或辅助工具的变动 revert Reverts a previous commit 恢复先前的提交 -
validate-commit-msg:在每次commit前检验缩写的message是否符合规范
# 安装validate-commit-msg npm install --save-dev validate-commit-msg # 安装ghooks cnpm install ghooks --save-dev在 package.json 配置 ghooks。在config中添加如下信息
"config": {"ghooks": {"commit-msg": "validate-commit-msg"},"validate-commit-msg": {"types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"],"scope": {"required": false,"allowed": ["*"],"validate": false,"multiple": false},"warnOnFail": false,"maxSubjectLength": 100,"subjectPattern": ".+","subjectPatternErrorMsg": "subject does not match subject pattern!","helpMessage": "","autoFix": false}}- change log:目前还未使用,需要再翻查
参考1:Git 提交的正确姿势:Commit message 编写指南
参考2:git commit 规范工具
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
