1.0.0-alpha.1 • Published 5 years ago

@syberos/git-cz v1.0.0-alpha.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

syberos-git-cz

无需安装

    npx syberos-git-cz

npm安装

    npm install -g syberos-git-cz
    git-cz

通过Commitizen在本地安装

    npm install -g commitizen
    npm install --save-dev syberos-git-cz

package.json

    {
        "config": {
            "commitizen": {
                "path": "syberos-git-cz"
            }
        }
    }

运行

    git cz

与Commitizen一起全局安装

    npm install -g commitizen syberos-git-cz
    commitizen init syberos-git-cz --save-dev --save-exact

Custom config

You can provide custom configuration in changelog.config.js file in your repo. Below is default config:

module.exports = {
  "disableEmoji": false,
  "list": [
    "test",
    "feat",
    "fix",
    "chore",
    "docs",
    "refactor",
    "style",
    "ci",
    "perf"
  ],
  "maxMessageLength": 64,
  "minMessageLength": 3,
  "questions": [
    "type",
    "scope",
    "subject",
    "body",
    "breaking",
    "issues",
    "lerna"
  ],
  "scopes": [],
  "types": {
    "chore": {
      "description": "Build process or auxiliary tool changes",
      "emoji": "🤖",
      "value": "chore"
    },
    "ci": {
      "description": "CI related changes",
      "emoji": "🎡",
      "value": "ci"
    },
    "docs": {
      "description": "Documentation only changes",
      "emoji": "✏️",
      "value": "docs"
    },
    "feat": {
      "description": "A new feature",
      "emoji": "🎸",
      "value": "feat"
    },
    "fix": {
      "description": "A bug fix",
      "emoji": "🐛",
      "value": "fix"
    },
    "perf": {
      "description": "A code change that improves performance",
      "emoji": "⚡️",
      "value": "perf"
    },
    "refactor": {
      "description": "A code change that neither fixes a bug or adds a feature",
      "emoji": "💡",
      "value": "refactor"
    },
    "release": {
      "description": "Create a release commit",
      "emoji": "🏹",
      "value": "release"
    },
    "style": {
      "description": "Markup, white-space, formatting, missing semi-colons...",
      "emoji": "💄",
      "value": "style"
    },
    "test": {
      "description": "Adding missing tests",
      "emoji": "💍",
      "value": "test"
    }
  }
};

Commit Message Format

  • A commit message consists of a header, body and footer.
  • The header has a type and a subject:
<type>[(<scope>)]: <subject>
[BLANK LINE]
[body]
[BLANK LINE]
[breaking changes]
[BLANK LINE]
[footer]

The header is the only mandatory part of the commit message.

The first line (type + subject) is limited to 50 characters enforced

Any other line should be limited to 72 character automatic wrapping

This allows the message to be easier to read on GitHub as well as in various git tools.

Type

Must be one of the following:

  • test Adding missing tests
  • feat A new feature
  • fix A bug fix
  • chore Build process or auxiliary tool changes
  • docs Documentation only changes
  • refactor A code change that neither fixes a bug or adds a feature
  • style Markup, white-space, formatting, missing semi-colons...
  • ci CI related changes
  • perf A code change that improves performance

Subject

The subject contains succinct description of the change:

  • Use the imperative, present tense: "change" not "changed" nor "changes"
  • No dot (.) at the end.

Body

Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

Affects [only on lerna environments]

Select the packages the commit affected.

Breaking Changes

Breaking Changes must start with the words BREAKING CHANGE:.

Footer

The footer is the place to reference any tasks related to this commit.