You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

受保护远程分支Git push被拒与无拒绝的场景判定

受保护分支直接push的两类场景判定规则

针对配置了「变更合入前必须提交Pull Request」保护规则的远程分支,团队成员执行直接push操作时,两类结果的判定条件如下:

场景1:收到push被rejected(拒绝)提示

判定条件:

  • 执行push命令时,指定的推送目标分支就是配置了强制PR规则的受保护分支本身
  • 常见操作示例:本地切到受保护的main分支完成修改后,直接运行git push origin main尝试推送

这种情况下Git会直接返回错误提示,明确告知远程分支受保护、当前账号无直接推送权限,操作被服务端拒绝,本地提交不会同步到远程任何分支。

场景2:执行push无拒绝提示

判定条件:

  • 执行push命令时,推送的目标分支不是受保护分支本身,而是远程仓库下你拥有直接推送权限的普通非保护分支
  • 常见操作示例:本地基于main分支切出开发分支feature/login-opt,完成修改后运行git push origin feature/login-opt

这种情况下推送操作会正常完成,不会抛出拒绝错误,打开GitHub对应仓库页面时,能看到Compare & pull request按钮。

重要提示:该场景下push未被拒绝,仅代表你的本地提交已经成功上传到远程的普通开发分支,不代表对应的受保护分支已经同步了你的本地变更,必须通过按钮发起Pull Request、走完评审合入流程后,你的代码才会真正合入受保护分支。

内容的提问来源于stack exchange,提问作者H D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:57:13