ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git Commit 团队规范限制

2020-08-28 18:33:37  阅读:437  来源: 互联网

标签:Git false husky 提交 commit msg Commit validate 团队


Git Commit 团队规范限制

前言

在团队进行开发协作的时候,不规范的Git Commit提交会使得项目的Git Log杂乱无章,哪些是新功能、哪些是修复bug等等都无法得知,因此规范团队的提交是非常有必要的,所以规范约束就特别需要了。

使用validate-commit-msg和husky去规范Commit提交

validate-commit-msg可以来检查我们的commit规范,husky可以把validate-commit-msg作为一个githook来验证提交消息。

安装配置

npm i validate-commit-msg -D
npm i husky -D

配置validate-commit-msg

validate-commit-msg的配置可以在根目录创建一个.vcmrc文件或者在package.json中配置

// .vcmrc文件
{
  "types": ["feat", "fix", "docs", "style", "refactor", "test", "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
}

// package.json
{
  "config": {
    "validate-commit-msg": {
      /* your config here */
    }
  }
}

如果两个都配置是优先走.vcmrc文件。查找不到该文件才在package.json中查找

配置husky,使用validate-commit-msg的规则来验证我们所提交的commit信息

// package.json
  "husky": {
    "hooks": {
      "commit-msg": "validate-commit-msg"
    }
  }

验证提交

// 错误的commit信息是不允许提交的
git commit -m "fffffff"
husky > commit-msg (node v10.15.0)
INVALID COMMIT MSG: does not match "<type>(<scope>): <subject>" !
fffffff
husky > commit-msg hook failed (add --no-verify to bypass)

// 正确的允许提交
git commit -m "fix: 修复了一个bug"
husky > commit-msg (node v10.15.0)
[pregray 33e57b37dd] fix: 修复了一个bug
 1 file changed, 1 insertion(+), 1 deletion(-)

标签:Git,false,husky,提交,commit,msg,Commit,validate,团队
来源: https://www.cnblogs.com/chenfengami/p/13570374.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有