我在Github存储库中有以下代码,我想防止我的存储库中的任何人直接提交给master,但它不起作用,那是什么,我使用了错误的东西?
我已经搜索了堆栈溢出和youtube,试图找到有关此问题的教程,但我没有运气
9 lines (6 sloc) 154 Bytes
#!/bin/sh
branch="$(git rev-parse --abbrev-ref HEAD)"
if [ "$branch" = "master" ]; then
echo "You can't commit directly to master branch"
exit 1
fi
我希望阻止用户直接提交给master 目前,他们能够致力于掌握
我的脚本绝对可以执行,但仍然不显示任何内容
答案 0 :(得分:1)
要使此类挂钩在本地执行,请确保将您的挂钩放入pre-commit
中的.git/hooks
文件中
它适用于此特定回购,但应在您希望此回购有效的每个回购中引入。
除了您的钩子,您可能还想使用分支保护规则配置github,以便即使有人在本地提交master,他们也无法将这些提交推送到github。您甚至可以对其进行配置,然后要求请求请求才能将提交提交到主服务器。这比本地钩子更重要,因为这并不是每个团队成员都可以选择退出的。