跳过 Git 提交钩子
How to skip Git commit hooks
使用--no-verify
选项跳过 git 提交挂钩,例如
git commit -m "commit message" --no-verify
. 使用该--no-verify
选项时,将绕过 pre-commit 和 commit-msg 挂钩。
壳
git commit -m "commit message" --no-verify git push --no-verify
您还可以使用-n
选项,它是--no-verify
.
壳
git commit -m "commit message" -n
如果你为你的 git 钩子使用husky包,你也可以在命令前加上HUSKY=0
环境变量。
壳
# HUSKY=0 git YOUR_COMMAND_HERE HUSKY=0 git commit -m "commit message" HUSKY=0 git cherry-pick --continue
如果以上建议没有解决你的问题,你可以通过以下方式注释掉具体的 git hook:
- 打开存储 git 钩子的文件,例如
.git/hooks/pre-commit
. - 注释掉运行挂钩的行,例如
# . "$(dirname "$0")/husky.sh"
. - 运行你的 git 命令。
挂钩位于.git/hooks/
目录中。
–no-verify选项可
用于绕过pre-commit
andcommit-msg
挂钩。
预提交挂钩首先运行,用于检查即将提交的快照。
该pre-commit
挂钩可用于运行测试、lint、类型检查等。如果该挂钩存在非零代码,则提交将中止。
该选项也会跳过commit-msg挂钩--no-verify
。git commit
使用orgit merge
命令时会调用此挂钩
。
该钩子用于确保我们的提交消息符合所需的模式。
如果commit-msg
挂钩存在且代码非零,则提交将中止。
pre-commit
和commit-msg
挂钩运行
后,提交后挂钩运行。此挂钩通常用于通知目的。
也可以使用该选项绕过预合并提交挂钩。--no-verify
在成功执行合并之后和获取提交日志消息之前调用此挂钩。