用于禁用推送到分支的Git推送挂钩 [英] Git push hook to disable push to branch

查看:32
本文介绍了用于禁用推送到分支的Git推送挂钩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们需要防止推送到Bitbucket回购的某个分支。

我们认为我们在当地预防是可以的。

有没有办法防止通过某个预推钩子在本地推送到某个分支?

操作系统:Windows。

推荐答案

这显然是不太理想的解决方案,但由于BitBucket不提供添加更新挂钩的可能性,我无论如何都会提供它。

要防止通过本地钩子推送到分支,您可以使用pre-push钩子(从git 1.8.2开始提供)。

#!/bin/sh

while read local_ref local_sha remote_ref remote_sha
do
     if [ "$remote_ref" = "refs/heads/test" ]; then
        echo "Pushing to branch "test" is forbidden"
        exit 1
     fi
done

exit 0

只需将test替换为要防止推送的相应分支名称。

有关预推钩子的更多信息,可以查看example file,如果您想了解更多有关钩子的一般信息,可以阅读corresponding chapter in the gitpro book


重要信息

请记住,您必须在存储库的每个克隆中安装此挂钩,因为它是客户端挂钩而不是服务器端挂钩。

显然,服务器端update挂钩更可取。

这篇关于用于禁用推送到分支的Git推送挂钩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆