- npm install
- npm run commit
- npm run commit -- --retry
- npm update cz-jira
- commitizen 是生成 git 日志(文本)的工具
- cz-jira 是 commitizen 的 git 日志(文本)适配器(change log)
- commitizen 库需要在本项目的根目录添加.czrc 文件
- cz-jira 库需要在本项目的根目录添加.cz-jira.js 文件
- pre-commit 是 git commit 前的钩子, 对改动的文件做语法校验
- 用 eslint 对 js 进行检查, 报错时不能 commit
- 用 stylelint 对 css 进行检查, 报错时不能 commit
- 使用自己编写的 validate-commit-msg.js 校验 commitizen 生成的 git 日志(文本)
- feat(FIJI-1000): [SUMMARY] DESCRIPTION
- 主要是防止直接用 git 命令提交, 比如: git commit -m 'feat(SOFT-123): [git 和 jira 集成] 修改 issue 的前缀'
- pre-push 是 git push 前的钩子, 必须全跑, 担心改动会影响其它地方
- 单元测试正确性检查, 报错时不能 push
- 单元测试覆盖率检查
- 只做 git staged 中的文件做校验
- lint-staged 是一个可执行脚本, 可以用 npx lint-staged 或者 npm run lint:staged 查看结果
- .cz-jira.js 是 commitizen change log 自定义库 cz-jira 的配置文件
- .czrc 是 commitizen 库的配置文件
- .editorconfig 是为了保证所有 IDE 具有相同的编码风格, 需要 IDE 安装各自的插件, 比如 vscode 需要安装 EditorConfig for VS Code
- .eslintrc.json 是为了启用 eslint 代码检查
- .gitignore 是忽略 git 的跟踪
- .prettierrc 是 prettier 的配置文件, 帮我们格式化真实代码风格
- .stylelintrc 是为了启用 stylelint 代码检查
- jira.config.json 是 jira 帐号配置
commitizen/cz-cli adntin/cz-jira
typicode/husky okonet/lint-staged
用 husky 和 lint-staged 构建超溜的代码检查工作流 lint-staged 和 husky 在 pre-commit 阶段做代码检查