跳过部分或全部git钩子

vsaztqbk  于 2022-12-17  发布在  Git
关注(0)|答案(2)|浏览(267)

我有一个post-checkout钩子,它需要一些时间来运行,如果我在分支之间跳跃进行修复,我想跳过它。
我怎样才能一般性地跳过部分或全部git钩子的执行?

nafvub8i

nafvub8i1#

一个环境变量,例如DISABLE_POST_CHECKOUT,可能就是你想要的。用它来调整你的post-checkout钩子。参见:https://stackoverflow.com/a/9730976/654952

gudnpqoy

gudnpqoy2#

这是一个可能的解决方案。
定义一个config键,比如my.hook作为开关来启用或禁用钩子。更进一步,my.hook.post-checkout只用来启用或禁用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

相关问题