0

我有一个功能性的commit-msggit 钩子,它将字符串从 git 分支名称的开头到第一个下划线,并将其添加到提交消息中。

为了更好地理解:分支名称是JIRA-123_fix_problem,提交命令是:git commit -m 'Fix problem'并且通过commit-msg钩子提交消息将自动更改为JIRA-123: Fix problem.

现在我们将Nuxt用于我们当前的Vuejs项目,这使用了husky。我们想在这个项目中保留哈士奇。不幸的是(而且,我猜是故意的),husky通过覆盖 git commit 钩子来工作,因此.git/hooks/commit-msg我使用的文件将被husky覆盖,并且原来的commit-msg钩子不再起作用。

我怎样才能防止哈士奇覆盖commit-msg钩子或指示哈士奇做同样的事情?

我找不到任何有关此问题的文档。

4

1 回答 1

0

好的,我终于找到(并验证了)解决方案:

在这个 husky 问题(“支持自定义 git 钩子不被 husky #323 覆盖”) 中,typicode说:

Husky 正在覆盖文件,因为其中有 [is] # husky。它检查此字符串以了解它是用户脚本还是由 husky 生成的。

如果您删除# husky,它将永远不会再次覆盖它们。

在我删除该# husky行之后,重新安装我们项目中的所有节点模块最终保留了commit-msg我想要使用的钩子。我最初只是复制并粘贴代码,同时维护# husky项目脚手架中的行。

于 2020-06-29T10:59:17.457 回答