跳过一些或所有git钩子

时间:2016-09-22 05:05:20

标签: git githooks

我有一个post-checkout挂钩需要一些时间才能运行,如果我在分支机构之间进行修复,我想跳过它。

我怎样才能一般性地跳过部分或全部git挂钩的执行?

2 个答案:

答案 0 :(得分:2)

环境变量,例如DISABLE_POST_CHECKOUT可能就是你想要的。用它调整你的结账后挂钩。也可以看看: https://stackoverflow.com/a/9730976/654952

答案 1 :(得分:2)

这是可能的解决方案之一。

定义配置密钥,例如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