工具 6年前

git commit message 规范

作者头像 刘宇帅
4080 0

为什么要规范 git commit message

无规矩不成方圆,尤其是在多人合作项目中如果每个人按自己的习惯 commit,那么整个 commit 的log将会一团糟糕

commit message 格式

Commit message 都包括三个部分:Header,Body 和 Footer

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

type

feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动

scope

commit 影响的范围, 比如: route, component, utils, build,scope 可以为空

subject

subject是 commit 目的的简短描述,不超过50个字符。

Body

commit 目的的简短描述

Footer

1. 不兼容改动
2. 关闭 Issue

commit 时自动检查 message 格式工具

在项目根目录安装依赖

npm install --save-dev @commitlint/cli  @commitlint/config-conventional
npm install --save-dev husky

添加文件 commitlint.config.js 并写入如下内容

module.exports = {extends: ['@commitlint/config-conventional']};

在 package.json 根目录下添加如下内容

"husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }  
  }

完成配置,测试commit看下如下提示 message 不合法

➜  yundi-customer git:(master) ✗ git commit -m "test"
husky > commit-msg (node v12.14.0)
⧗   input: test
✖   subject may not be empty [subject-empty]
✖   type may not be empty [type-empty]

✖   found 2 problems, 0 warnings
ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint

husky > commit-msg hook failed (add --no-verify to bypass)
作者头像

刘宇帅

非著名程序员,全栈开发工程师,长期专注系统开发与架构设计。

提示

功能待开通!


暂无评论~

相关文章

ChatGPT最热开源项目

自2月份开始,我对ChatGPT的精彩表现感到非常着迷,它展现出了真正的智能。随后,我陆续注册了ChatGPT Plus会员,申请了GPT-4 API权限等。起初,我通过简单的数学和逻辑题来测试它的智能水平;后来,我开始将其视为搜索引擎,不仅用于搜寻概念性知识,还用于解决技术问题、技术方案,甚至是公司业务应用。如今,ChatGPT已经逐渐融入了我的工作和生活。 然而,由于日常工作繁忙,我总是根据需要解决的问题,寻找针对性的方案,而没有认真研究过基于ChatGPT的应用现状。因此,我决定花时间了解一下ChatGPT相关的热门开源项目,并将所得到的信息整理和记录在此。 lencx/ChatGPT

shadowsocks配合Proxifier实现全局代理

shadowsocks 使用的 sockets5 代理,而一般只有浏览器支持,所以使用 shadowsocks 可以实现科学上网,但是其他的应用却仍无法科学上网,所以要想实现全局科学上网需要 Proxifier 支持。 Proxifier介绍 Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。支持 64位系统,支持Xp,Vista,Win7,MAC OS ,支持socks4,socks5,http代理协议,支持TCP,UDP协议,可以指定端口,指定IP,指定域名,指定程序等运行模式,兼容性非常好。有点类

SVN 认证失败

问题 搭建好 svn 之后可以正常拉下库,但是 commit 的时候报以下权限错误。 &gt; $ svn commit -m "test" svn: E170001: Commit failed (details follow): svn: E170001: Authorization failed 解决 问题是因为 svn 权限配置问题。

定时任务系统调研

webcron 源码地址 功能列表 基本任务创建、启动、手动执行、暂停 任务日志 任务执行结果邮件通知 任务分组 任务运行实例控制 缺点 任务只能在单机跑 不能添加用户 评价 安装部署简单,功能页面简洁,适合任务量不多个人或者小型项目组使用。 gocron 源码地址 功能列表 基本任务创建、手动执行、禁止执行、删除 任务依赖 任务分组 超时、重试 可以选择任务执行结果通知不同用户,通知类型包括邮件(并支持模板配置)、slack、webhook。 任务日志 支持分布式,添加执行任务节点,创建任务可指定任务可运行的节点(如果是单例模式,会选择一台执行) 用户管理 登录日志 执行方式支持

Macos 卸载Xcode git运行报错

我电脑上原本装了Xcode,但是我电脑是128G,用了两年东西越来越多硬盘不够用了,而我本身开发中很少用Xcode所以就把它卸载了,卸载之后发现Xcode占了11G左右的空间。。 卸载Xcode之后执行git,报错如下: &gt; $ git status xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode t