如何完全阻止/限制推送到远程主服务器

时间:2020-05-21 07:50:27

标签: git github hook githooks

  • 我想限制从任何分支到主分支的任何推送。
  • 我想从客户端做这一切
  • 例如,我有3个分支母版mtest mtest2
  • 我不希望任何分支机构都可以使用“ git push -u origin master”。
  • 如果我已经签出mtest,但是如果我错误地运行了“ git push -u origin master”,那么它将不起作用。

我写了预推钩子,但是只有当当前分支是master时,它才停止推入 如果您运行“ git push -u origin master”,并且您位于例如mtest分支,则此方法将无效。 我还尝试查看是否可以获取push参数,以便可以知道push指向哪个分支,但是不幸的是,在pre-push钩接收的参数中没有得到该信息。

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

任何方法。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

请参阅有关预推钩子的文档以及随任何存储库一起提供的.git/hooks/pre-push.sample

有关目标引用的信息是通过stdin而不是通过sys.argv

传递的