2 个不稳定版本

0.2.0 2023 年 12 月 28 日
0.1.0 2023 年 12 月 1 日

#9 in #wizard

GPL-3.0-only

100KB
2K SLoC

git-z

Crates.io Crates.io License

Git 扩展,超越基本功能。

功能

当前可用

  • 一个向导,根据 Conventional Commits 格式化提交消息。可以通过以下方式配置:
    • 一组有效的提交类型及其描述
    • 是否请求范围
    • 适用时,一组有效的范围
    • 是否请求票据/问题引用
    • 从分支名称自动获取票据/问题引用信息
    • 自定义提交模板

计划中

  • 一个验证器,确保提交消息遵循 Conventional Commits,可选地包括有效的票据引用。
  • 一个向导,从 GitHub / GitLab 问题或 Jira 票据创建分支(和可选的工作树)。

设置

Nix 安装

您可以通过运行以下命令将 git-z 添加到您的用户配置文件:

nix profile install github:ejpcmac/git-z

或者,您可以通过设置一个类似下面的 flake.nix 来将 git-z 添加到您的开发环境:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs";
    flake-parts.url = "github:hercules-ci/flake-parts";
    git-z.url = "github:ejpcmac/git-z";
  };

  outputs = { flake-parts, ... }@inputs:
    flake-parts.lib.mkFlake { inherit inputs; } {
      systems = [ "x86_64-linux" ];

      perSystem = { system, ... }:
        let
          pkgs = inputs.nixpkgs.legacyPackages.${system};
          git-z = inputs.git-z.packages.${system}.git-z;
        in
        {
          devShells.default = pkgs.mkShell {
            buildInputs = [
              # Tools.
              git-z

              # Other dependencies.
            ];
          };
        };
    };
}

Cargo 安装

cargo install git-z

使用

运行

git add <your modifications>
git z commit

您可以自定义 git-z 的行为

  • 定义带有描述的有效类型列表
  • 选择是否请求范围
  • 定义预定义的有效范围列表
  • 请求或要求票据/问题编号

为此,通过运行以下命令初始化配置:

git z init

然后,编辑您仓库根目录下的 git-z.toml

构建安装程序

Linux (Debian)

如果您机器上已安装 Docker,可以运行以下命令:

$ ./build-deb.sh

然后,您应在 target/debian/ 中找到一个 Debian 软件包。

Windows

如果您机器上已安装 Rust 工具链,您可以:

  1. 安装 WiX v3

  2. 运行

     > cargo install cargo-wix
     > cargo wix --nocapture
    

然后,您应在 target/wix/ 中找到一个安装程序。

贡献

在为此项目贡献之前,请阅读CONTRIBUTING.md

许可证

版权所有 © 2023 Jean-Philippe Cugnet

本项目采用GNU通用公共许可证3.0许可。

依赖项

~17–30MB
~462K SLoC