git - 如何完全阻止/限制推送到远程主机
问题描述
- 我想限制从任何分支到我的主分支的任何类型的推送。
- 我想从客户端做这一切
- 例如,我有 3 个分支 master mtest mtest2
- 我不希望“git push -u origin master”在任何分支上工作。
- 如果我检查了 mtest 但如果我错误地运行“git push -u origin master”,这应该不起作用。
我写了 pre-push 钩子,但它只会在当前分支是 master 时停止推送 如果你运行“git push -u origin master”并且你在说 mtest 分支,它就不起作用。我还尝试查看我们是否可以获得推送参数,以便我们可以知道推送指向哪个分支,但不幸的是,我没有在 pre-push 钩子收到的参数中得到这一点。
我需要一种方法来完全阻止推送到主分支。但是向其他分支的推送必须照常进行。
任何方式都可以做到这一点。
解决方案
- 打开 GitHub 存储库
- 点击
Settings
- 单击
Branches
边栏中的 - 点击
Add rule
- 启用
Require pull request reviews before merging
或Require status checks to pass before merging
推荐阅读
- wcf - 如何为 wcf 服务创建 https 绑定?
- sql - 主键不会自动递增
- python - 需要一些帮助使函数尾递归
- elixir - 是否可以通过“use/2”宏(用于 DRY)扩展 Elixir 协议?
- akka-http - akka http:服务器绑定未按预期运行
- python - 如何在 Django 中启动和停止 celery beat 和 worker?
- amazon-web-services - AWS - Java Lambda - 将数据从 s3 移动到 redshift
- css - 部署后 Vuetify 无法正确显示
- html - 仅在移动设备上引导响应行为
- angular - 在 Angular 中,如何防止用户从当前选项卡更改?