Commitizen:是否有一种方法可以覆盖标准的 `git commit`?

6

有使用 commitizen 的用户吗?

期望的行为:

  1. 安装 commitizen
  2. 运行 git commit
  3. 看到与运行 git cz 时相同的美观菜单

当前行为:

  1. 安装 commitizen
  2. 运行 git commit
  3. 没有像运行 git cz 时那样美观的菜单,只有默认的 git 界面

2
你需要将git命令前端化,比如说作为一个shell函数,并且对参数进行预处理以实现自己的子命令查找。尽管这很容易实现,但使用的工具本身没有提供这个功能有很多原因。首先,使用原生git命令编写的脚本将变得不可能。 - jthill
谢谢!我实际上尝试过这种方法,但是没有成功。无论如何,情况变得混乱而且不跨平台,所以我放弃了它并在寻找另一种方法。 - Nurbol Alpysbayev
2个回答

5
你可以使用 git 钩子来做到这一点。只需按照https://commitizen.github.io/cz-cli/网站上所写的指示进行操作。
在项目的根目录下的 .git/hooks/prepare-commit-msg 文件中添加以下内容(如果该文件不存在,请创建它): #!/bin/bash exec < /dev/tty && node_modules/.bin/git-cz --hook || true 如果该文件已经存在,则只需添加 exec 行即可。这样,git commit命令将显示与 git cz 相同的菜单。

0

commitizen/cz-cli 项目建议:

现在,当你提交代码时,只需使用 git cz 代替 git commit

如果 git-cz 在你的 PATH 中,你可以调用 git cz。但它不会取代 git commit,只是提供了另一种选择。


1
我猜这是“不行,没有办法做到”的答案。好的,谢谢 :-) - Nurbol Alpysbayev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接