#git-commit #commit-message #template #git #git-repository #conventional-commits

bin+lib git-kit

包含模板和工具的 git 命令行工具

21 个版本

0.0.22 2023年4月23日
0.0.21 2023年2月26日
0.0.19 2023年1月30日
0.0.13 2022年12月4日
0.0.7 2022年9月26日

#2551 in 命令行工具

Download history 43/week @ 2024-03-26 141/week @ 2024-04-02

54 个月下载量

MIT 许可证

160KB
4K SLoC

crates.io Main branch tests license

🧰 git-kit

🚨 重要

此存储库已被 重命名inkan,因此此存储库现在已弃用。

请访问 inkan 存储库以继续 🙏

使用此 CLI 帮助您通过预提供的模板以更少的努力将 git 提交消息格式化得一致!🤩

提供了两个默认模板

  1. 简单提交模板

  2. 常规提交模板

您还可以通过遵循 自定义模板指南 创建您自己的自定义模板。

简单提交模板

git-kit config set default
-  ✨ feat        Adds new functionality.
-  🐛 bug         Fix that resolves an unintended issue.
-  🧪 test        Improves or adds existing tests related to the code base.
-  🧹 refactor    Improvement of code/structure without adding new functionality.
- 📖 docs         Change or update to documentation (i.e README's, code comments, etc).
-  📦 deps        Version update or migration to a new dependency.
-  ⚠️ break        Breaking change that may break a downstream application or service.
-  📋 chore       Regular code maintenance.
-  🏭 ci          Changes to CI configuration files and scripts.

提交示例格式

  • [{ticket_num}]{message}

模板上下文

  • ticket_num 与分支相关的票号/问题号。
  • message 提交消息。

常规提交标准模板

git-kit config set conventional
- ✨ feat        Adds new functionality.
- ⛑ fix         Fix that resolves an unintended issue (i.e. bug).
- 🧪 test        Improves or adds existing tests related to the code base.
- 🧹 refactor    Improvement of code/structure without adding new functionality.
- 📖 docs        Change or update to documentation (i.e README's, code comments, etc).
- 🔨 build       Changes that affect the build system or external dependencies.
- 📋 chore       Regular code maintenance.
- 🏭 ci          Changes to CI configuration files and scripts.
- 🏎 perf        Improvement of code performance (i.e. speed, memory, etc).
- 🕺 style       Formatting updates, lint fixes, etc. (i.e. missing semi colons).

提交格式

  • {type}({scope}): {message}

模板提交上下文

  • ticket_num 与分支相关联的票号/问题号。
  • message 主题消息。
  • scope 提交相关的代码库部分的简短描述。

⏳ 安装二进制文件

🦀 Cargo

通过 Cargo 安装最新版本。

cargo install git-kit
🍏 MacOS

即将推出 Homebrew 🤞

安装最新版本

curl -sS https://raw.githubusercontent.com/xsv24/git-kit/main/scripts/install.sh | sh

根据您的设置,您可能需要使用 sudo 运行脚本。

curl -sS https://raw.githubusercontent.com/xsv24/git-kit/main/scripts/install.sh | sudo sh -s - -b /usr/local/bin
🐧 Linux

即将推出软件包管理器 🤞

安装最新版本

curl -sS https://raw.githubusercontent.com/xsv24/git-kit/main/scripts/install.sh | sh
🪟 Windows

即将推出 🤞


🏎️💨 入门

git-kit --help
# Checkout a new branch & add optional context params.
git-kit checkout fix-parser
  --ticket TICKET-123 \
  --scope parser \
  --link "http://ticket-manager/TICKET-123"

# Select a registered config containing templates to use.
git-kit config set

# View currently available templates on chosen config.
git-kit templates

# Commit some changes.
git-kit commit bug -m "Fix up parser"
git-kit commit chore

🎟️ 检出命令

创建新分支或检出现有分支,并附加以下可选上下文参数,以便在未来的提交模板中使用。

  • ticket_num 与分支相关的问题号。
  • link 相关问题的链接。
  • scope 提交相关的代码库部分的简短描述。

当您准备提交更改时,任何提供的上下文参数(例如ticket_number)将自动注入到每个提交信息中!😄这是通过简单的模板字符串注入实现的。

示例

git-kit checkout my-branch --ticket TICKET-123
git-kit checkout my-branch \
  -t TICKET-123 \
  --scope parser \
  --link "http://ticket-manager/TICKET-123"

很可能是您的票据/问题只有一个与之关联的分支。在这种情况下,您可以使用以下简写 👌

git-kit checkout TICKET-123

🔗 上下文命令

创建或更新与当前签出的分支关联的上下文参数。

  • ticket_num 与分支相关的问题号。
  • link 相关问题的链接。
  • scope 提交相关的代码库部分的简短描述。

如果您忘记通过git-kit 签出命令添加上下文,或者想要更新未来的提交上下文,这将非常有用。

当您准备提交更改时,任何提供的上下文参数(例如ticket_number)将自动注入到每个提交信息中!😄这是通过简单的模板字符串注入实现的。

git-kit context \
  --ticket TICKET-123 \
  --scope parser \
  --link "http://ticket-manager/TICKET-123"

🚀 提交命令

提交所有暂存的更改,并通过将签出上下文命令设置的任何上下文参数注入到一个选择的模板(例如bug)中来构建一个可编辑的提交信息。

git-kit commit bug

示例模板

[{ticket_num}] 🐛 {message}[TICKET-123] 🐛 Fix


☑ 模板命令

列出目前可用的提交模板。要添加自己的模板,请参阅自定义提交模板指南

git-kit templates

- bug | Fix that resolves an unintended issue
- ...

⚙️ 配置

初始时将设置default模板为活动状态,但您可以通过config set命令在提供的配置和任何添加的自定义模板之间切换。

git-kit config set

ℹ️ 建议不要修改默认模板文件,因为它们可能会在新版本中被替换/更新。

相反,复制并粘贴所需的默认模板,将其保存到某个地方,然后按照持久化配置指南所示将其添加到CLI中。

自定义模板

创建自己的模板可以通过创建自己的配置文件.git-kit.yml来完成。

以下是一个名为custom的自定义模板示例

version: 1
commit:
  templates:
    custom:
      description: My custom commit template 🎸
      content: |
        {ticket_num} 🤘 {message}

您可以通过以下方式之一将自定义配置/模板提供给CLI:

  • 通过--config选项提供配置文件路径。
  • 在您的git仓库根目录中创建一个.git-kit.yml配置文件。
  • 使用通过config add子命令添加/链接的配置文件,如持久化配置指南中所示。

持久化配置

通过提供配置文件的路径和引用名称来持久化/链接您自己的配置文件。

git-kit config add $CONFIG_NAME $CONFIG_PATH

您可以通过set命令添加多个配置文件并在它们之间切换。

git-kit config set $CONFIG_NAME

# Select prompt for available configurations
git-kit config set 

> ? Configuration:  
  ➜ default
    conventional
    custom

为了确保您的模板已被加载,只需运行以下命令👇来查看当前配置的模板列表。

git-kit templates

- custom | My custom commit template 🎸
- ...

然后当您准备好提交更改时,使用您自定义的模板,就完成了!🪂

git-kit commit custom \
 --ticket TICKET-123 \
 --message "Dang!"

[TICKET-123] 🤘 Dang!

依赖项

~32–45MB
~696K SLoC