【问题标题】:Commitizen: Is there a way to override standard `git commit`?Commitizen:有没有办法覆盖标准的`git commit`?
【发布时间】:2018-08-16 03:12:16
【问题描述】:

这里有承诺的用户吗?

想要的行为:

  1. 安装提交
  2. 运行git commit
  3. 查看与运行 git cz 时相同的漂亮菜单

当前行为:

  1. 安装提交
  2. 运行git commit
  3. 没有像运行 git cz 时那样漂亮的菜单,只是默认的 git 界面

【问题讨论】:

  • 您必须将git 命令置于前端,例如作为shell 函数,并在args 上进行自己的预传递以进行自己的子命令查找。尽管它很容易实现,但您使用的这个工具本身并没有提供它的原因有很多。对于初学者来说,使用本机 git 命令编写的脚本将变得不可能。
  • 谢谢!我实际上尝试了这种方法,但是没有成功。反正东西变脏了,不能跨平台,所以我放弃了,寻找另一种方式。

标签: git commitizen


【解决方案1】:

是的,您可以使用 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 相同的菜单。

【讨论】:

    【解决方案2】:

    commitizen/cz-cli 项目建议:

    现在,提交时只需使用git cz 而不是 git commit

    如果git-cz 在您的PATH 中,您可以致电git cz。但它不会掩盖git commit,只是提供不同的选择。

    【讨论】:

    • 我猜这是“不,没有办法做到这一点”的答案。好的,谢谢:-)
    猜你喜欢
    • 2018-05-22
    • 2012-02-04
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2013-08-28
    • 2012-09-03
    相关资源
    最近更新 更多