Git预推钩子在两个;“合并”;及;推“;?
我创建了一个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中 那么它运行了两次
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
)和该路径中任何目录的内容,以证明没有可能打印字符串的合并挂钩。