如何 block/restrict 完全推送到远程主机

How to block/restrict push to remote master totally

我写了pre-push hook,但是如果当前分支是master,它只会停止推送 如果你 运行 "git push -u origin master" 并且你在 mtest 分支中,它就不起作用。 我还尝试查看我们是否可以获得推送参数,以便我们可以知道推送指向哪个分支,但不幸的是,我没有在预推送挂钩收到的参数中得到它。

我需要一种方法来完全阻止推送到 master 分支。 但是推送到其他分支必须照常进行。

任何方法都可以。

  1. 打开 GitHub 存储库
  2. 点击Settings
  3. 点击边栏中的Branches
  4. 点击Add rule
  5. 启用Require pull request reviews before mergingRequire status checks to pass before merging

查看有关预推钩子的文档,以及随任何回购协议提供的 .git/hooks/pre-push.sample :

有关目标引用的信息通过标准输入传递,而不是通过 sys.argv