首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定在git提交时跳过的钩子--不验证

指定在git提交时跳过的钩子--不验证
EN

Stack Overflow用户
提问于 2018-04-04 21:49:45
回答 2查看 7.6K关注 0票数 3

如果有一种方法可以在使用git-hook时准确地指定要跳过的--no-verify?或者,除了--no-verify之外,还有其他标志来实现这一点吗?也许只是一个只跳过pre-commit的标志

我有两个经常使用的钩子,pre-commitcommit-msgpre-commit运行我的linting、flow检查和一些单元测试。commit-msg将我的分支名称追加到提交消息的末尾。

有些时候,我想--no-verify pre-commit,但仍然希望运行commit-msg

似乎有很多类似的这样的帖子,但是没有什么比选择性跳过--no-verify更好的了。

EN

回答 2

Stack Overflow用户

发布于 2018-08-03 03:55:17

跳过

如果您能够修改钩子,则可以为每个添加一个切换键。

来自pre-commit.sample的特定验证切换的示例

代码语言:javascript
复制
# If you want to allow non-ASCII filenames set this variable to true.
allownonascii=$(git config --bool hooks.allownonascii)

因此,要启用整个pre-commit 钩子切换,可以将其添加到其开头:

代码语言:javascript
复制
enabled="$(git config --bool hooks.pre-commit.enabled)"

if test "$enabled" != true
then
    echo 'Warning: Skipping pre-commit hook...'
    exit
fi

用法示例:

代码语言:javascript
复制
git -c hook.pre-commit.enabled=false commit

混叠

备注:两种类型的别名break 选项卡完成

git alias可以简化这一点:

代码语言:javascript
复制
git config --global alias.noprecommit \
  '!git -c hook.pre-commit.enabled=false'

这样,您就可以使用以下调用提交和跳过钩子

代码语言:javascript
复制
git noprecommit commit

您还可以使用alias (例如:~/.bashrc):

代码语言:javascript
复制
alias gitnoprecommit='git -c hook.pre-commit.enabled=false'

用法示例:

代码语言:javascript
复制
gitnoprecommit commit
票数 5
EN

Stack Overflow用户

发布于 2021-04-16 19:19:17

如果您想要提交并绕过单个预提交钩子,请使用

SKIP=hook_name git提交-m "commit_message“

SKIP环境变量是一个逗号分隔的钩子ids列表。这允许您跳过单个钩子,而不是--不验证整个提交。

SKIP=flake8,mypy git提交-m "commit_message“

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49660985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档