中文版本符合 Angular commit 规范的 git-cz emoji 提示
g-cz-emoji allows you to easily use emojis in your commits using commitizen.
? 选择提交的更改类型:
❯ feat 🌟 引入新特性
fix 🐞 修复 Bug
docs 📚 写文档
refactor 🎨 重构代码
chore 🔩 杂事修改
全局
npm install --global commitizen g-cz-emoji
# 推荐配置
echo '{ "path": "g-cz-emoji", "config": { "g-cz-emoji": { "skipQuestions": [ "issues", "body" ] } } }' > ~/.czrc
# 设置为项目的默认适配器
echo '{ "path": "g-cz-emoji" }' > ~/.czrc
本地
npm install --save-dev g-cz-emoji
添加到本地项目的 package.json
:
"config": {
"commitizen": {
"path": "g-cz-emoji"
}
}
$ git cz
默认情况下,g-cz-emoji
已经可用。对于不同用户使用方法可能有所不同,因此有一些配置选项可以根据项目需要进行微调。
作者在项目中的配置如下:
配置 g-cz-emoji
可以在用户主目录 (~/.czrc
) 中处理,影响所有项目的变更。或者对于每个项目的单独配置可以在(package.json
)处理。只需将如下所示的配置属性添加到具有重写设置的任意位置的现有对象中。
{
"config": {
"g-cz-emoji": {}
}
}
默认情况下 g-cz-emoji
配置了符合 Angular 规范的并且在
Gitmoji 中的 commit 类型。
An Inquirer.js 你可以自定义类型数组:
{
"config": {
"g-cz-emoji": {
"types": [
{
"emoji": "🌟",
"code": ":star2:",
"description": "A new feature",
"name": "feat"
}
]
}
}
}
An Inquirer.js choices array:
{
"config": {
"g-cz-emoji": {
"scopes": ["home", "accounts", "ci"]
}
}
}
一个布尔值,允许在提交消息中使用 unicode 值而不是默认的 Gitmoji标记。Symbol 的默认值为 true。
{
"config": {
"g-cz-emoji": {
"symbol": false
}
}
}
一个布尔值,是否保持传统提交类型,允许在提交消息中保持 type 的同时直接将 Gitmoji 中的 emoji 内容到 message 中。 conventional 的默认值为 true。
{
"config": {
"g-cz-emoji": {
"conventional": true
}
}
}
例子:
# true
fix: 🐛 fix a bug
# false
🐛 fix a bug
你想要跳过的一系列问题:
{
"config": {
"g-cz-emoji": {
"skipQuestions": ["scope", "issues"]
}
}
}
你可以跳过以下问题: scope
, body
, issues
, 和 breaking
。type
和 subject
是必填项。
包含原始问题覆盖的对象:
{
"config": {
"g-cz-emoji": {
"questions": {
"body": "This will be displayed instead of original text"
}
}
}
}
你想要的主题的最大长度/最小长度:
{
"config": {
"g-cz-emoji": {
"subjectMaxLength": 200,
"subjectMinLength": 5,
}
}
}
Commitlint 可以使用这个包来进行设置 https://github.com/arvinxx/commitlint-config-gitmoji.
npm install --save-dev commitlint-config-gitmoji
commitlint.config.js
module.exports = {
extends: ['gitmoji'],
parserPreset: {
parserOpts: {
headerPattern: /^(:\w*:)(?:\s)(?:\((.*?)\))?\s((?:.*(?=\())|.*)(?:\(#(\d*)\))?/,
headerCorrespondence: ['type', 'scope', 'subject', 'ticket']
}
}
}
MIT © guowenfh