我有一个post-checkout钩子,它需要一些时间来运行,如果我在分支之间跳跃进行修复,我想跳过它。我怎样才能一般性地跳过部分或全部git钩子的执行?
post-checkout
git
nafvub8i1#
一个环境变量,例如DISABLE_POST_CHECKOUT,可能就是你想要的。用它来调整你的post-checkout钩子。参见:https://stackoverflow.com/a/9730976/654952
DISABLE_POST_CHECKOUT
gudnpqoy2#
这是一个可能的解决方案。定义一个config键,比如my.hook作为开关来启用或禁用钩子。更进一步,my.hook.post-checkout只用来启用或禁用post-checkout。但是如果你想让钩子工作,你必须处理每个钩子中的键和值。
my.hook
my.hook.post-checkout
git config --global my.hook true git config my.hook.post-checkout false
一个post-checkout演示,
#!/bin/bash test x`git config --get my.hook` == x"false" && exit 0 test x`git config --get my.hook.post-checkout` == x"false" && exit 0 echo hello world
2条答案
按热度按时间nafvub8i1#
一个环境变量,例如
DISABLE_POST_CHECKOUT
,可能就是你想要的。用它来调整你的post-checkout钩子。参见:https://stackoverflow.com/a/9730976/654952gudnpqoy2#
这是一个可能的解决方案。
定义一个config键,比如
my.hook
作为开关来启用或禁用钩子。更进一步,my.hook.post-checkout
只用来启用或禁用post-checkout
。但是如果你想让钩子工作,你必须处理每个钩子中的键和值。一个
post-checkout
演示,