如果有一种方法可以在使用git-hook时准确地指定要跳过的--no-verify?或者,除了--no-verify之外,还有其他标志来实现这一点吗?也许只是一个只跳过pre-commit的标志
我有两个经常使用的钩子,pre-commit和commit-msg。pre-commit运行我的linting、flow检查和一些单元测试。commit-msg将我的分支名称追加到提交消息的末尾。
有些时候,我想--no-verify pre-commit,但仍然希望运行commit-msg。
似乎有很多类似的这样的帖子,但是没有什么比选择性跳过--no-verify更好的了。
发布于 2018-08-03 03:55:17
跳过
如果您能够修改钩子,则可以为每个添加一个切换键。
来自pre-commit.sample的特定验证切换的示例
# If you want to allow non-ASCII filenames set this variable to true.
allownonascii=$(git config --bool hooks.allownonascii)因此,要启用整个pre-commit 钩子切换,可以将其添加到其开头:
enabled="$(git config --bool hooks.pre-commit.enabled)"
if test "$enabled" != true
then
echo 'Warning: Skipping pre-commit hook...'
exit
fi用法示例:
git -c hook.pre-commit.enabled=false commit混叠
备注:两种类型的别名break 选项卡完成。
git alias可以简化这一点:
git config --global alias.noprecommit \
'!git -c hook.pre-commit.enabled=false'这样,您就可以使用以下调用提交和跳过钩子:
git noprecommit commit您还可以使用alias (例如:~/.bashrc):
alias gitnoprecommit='git -c hook.pre-commit.enabled=false'用法示例:
gitnoprecommit commit发布于 2021-04-16 19:19:17
如果您想要提交并绕过单个预提交钩子,请使用
SKIP=hook_name git提交-m "commit_message“
SKIP环境变量是一个逗号分隔的钩子ids列表。这允许您跳过单个钩子,而不是--不验证整个提交。
SKIP=flake8,mypy git提交-m "commit_message“
https://stackoverflow.com/questions/49660985
复制相似问题