规范的 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
  • 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介绍

    typedetail说明
    featA new feature新功能
    fixA bug fix修复 bug
    docsDocumentation only changes文档修改
    styleChanges that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc)格式(不影响代码运行的变动)
    refactorA code change that neither fixes a bug nor adds a feature重构
    perfA code change that improves performance提高性能
    testAdding missing tests or correcting existing tests添加缺失测试或更正现有测试
    buildChanges that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)依赖的外部资源变化
    choreOther changes that don’t modify src or test files构建过程或辅助工具的变动
    revertReverts 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 规范工具


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部