Git预推钩子在两个;“合并”;及;推“;?

Git预推钩子在两个;“合并”;及;推“;?,git,githooks,Git,Githooks,我创建了一个git钩子-pre-push.sh 然而,我注意到它在git merge和git push上都被执行 这正常吗?如果是这样,有没有一种方法可以将它专门应用于git push 我的钩子看起来像这样: branch=$(git rev-parse --abbrev-ref HEAD) if [[ ${branch} == 'develop' || ${branch} == 'release/*' ]] then ... 我把release/1合并到develope中 那么它运行了两次

我创建了一个git钩子-
pre-push.sh

然而,我注意到它在
git merge
git push
上都被执行

这正常吗?如果是这样,有没有一种方法可以将它专门应用于git push

我的钩子看起来像这样:

branch=$(git rev-parse --abbrev-ref HEAD)
if [[ ${branch} == 'develop' || ${branch} == 'release/*' ]]
then 
...
我把
release/1
合并到
develope


那么它运行了两次有意义吗?

不,这不正常。那将是一个错误;Git的人会很快修复它。你有复制机吗?@torek我更新了我的帖子,提供了更多细节。这仍然不正常吗?这不会显示钩子在
git merge
上运行。为了显示这一点,让钩子将某些内容打印到标准输出或标准错误,例如,
echo钩子刚刚运行了1>&2
将其打印到stderr。然后,运行一个合并的
git merge
,同时捕获输出。显示
.git/hooks/
目录的内容以及
core.hooksPath
配置设置(
git config--get core.hooksPath
)和该路径中任何目录的内容,以证明没有可能打印字符串的合并挂钩。