为什么在我提交时我的预提交钩子不运行

时间:2019-07-03 09:41:11

标签: git github

enter image description here

enter image description here

我在Github存储库中有以下代码,我想防止我的存储库中的任何人直接提交给master,但它不起作用,那是什么,我使用了错误的东西?

enter image description here

我已经搜索了堆栈溢出和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 目前,他们能够致力于掌握

我的脚本绝对可以执行,但仍然不显示任何内容

1 个答案:

答案 0 :(得分:1)

要使此类挂钩在本地执行,请确保将您的挂钩放入pre-commit中的.git/hooks文件中

它适用于特定回购,但应在您希望此回购有效的每个回购中引入。


除了您的钩子,您可能还想使用分支保护规则配置github,以便即使有人在本地提交master,他们也无法将这些提交推送到github。您甚至可以对其进行配置,然后要求请求请求才能将提交提交到主服务器。这比本地钩子更重要,因为这并不是每个团队成员都可以选择退出的。