我正在处理一个配置了 git 挂钩的项目。很遗憾。添加它是为了防止初级或无头开发人员将 CI-check-failing 代码提交到他们的分支。
我就是其中之一,他们忽略了带有HUSKY_SKIP_HOOKS
env 变量的 git 钩子,但对我来说,它在 GitKraken 中不起作用。
你知道如何忽略 GitKraken 中的 git 钩子吗?
我正在处理一个配置了 git 挂钩的项目。很遗憾。添加它是为了防止初级或无头开发人员将 CI-check-failing 代码提交到他们的分支。
我就是其中之一,他们忽略了带有HUSKY_SKIP_HOOKS
env 变量的 git 钩子,但对我来说,它在 GitKraken 中不起作用。
你知道如何忽略 GitKraken 中的 git 钩子吗?
你在使用这样的命令指令HUSKY_SKIP_HOOKS=1 git <command> ...
吗?
你可以像HUSKY_SKIP_HOOKS=1
但也一样使用它HUSKY_SKIP_HOOKS=true
。
您还可以使用 : 绕过命令行中的提交挂钩git commit -m "bla bla" -n
。
如果长时间无法运行钩子,也可以使用 core.hooksPath git 配置选项:
git -c core.hooksPath=/dev/null checkout master
git -c core.hooksPath=/dev/null pull
git -c core.hooksPath=/dev/null commit ...
git -c core.hooksPath=/dev/null push
...
而且(只是说),SourceTree有一个界面选项可以跳过提交挂钩。据我所知,Git Kraken 没有。
好吧,我确实收到了他们支持的回应,这对我有用。
此外,您应该仍然能够禁用这些挂钩执行。您将需要更改位于 local_repo/.git/hooks 下的文件的 chmod 权限。
chmod -x .git/hooks/*
它对我有用。
可悲的是,GitKraken 似乎没有一种简单的方法可以做到这一点。正如其他人指出的那样,您应该正常传递 Husky 环境变量。但这里有一个保证简单的解决方案,它将始终有效。我目前正在使用它来清理一些旧的存储库。
# Temporarily wipe husky
npm uninstall husky
# Clear out the husky package changes so we don't accidentally commit them
git reset --hard HEAD
当你在 GitKraken 中完成后,重新安装 husky。
npm install