如何查看GitHub中拥有推送权限的远程分支?
如何查看你拥有推送权限的GitHub分支
看起来你碰到了GitHub保护分支的权限问题——master分支被设置成了受保护状态,所以直接推送会被拒绝,这是团队项目里很常见的配置。下面是几种方法帮你确认自己能推送的分支:
方法1:通过GitHub仓库网页端查看(最直接准确)
这是最靠谱的方式:
- 打开项目的GitHub仓库页面,点击顶部的「Settings」选项卡
- 在左侧菜单找到「Branches」,进入分支设置页面
- 先看「Protected branches」区域,这里列出的是被保护的分支(比如你的master),这类分支通常需要PR审核或仅指定人员才能推送
- 接着可以去「Access」(或「Collaborators and teams」)页面查看自己的权限级别:
- 如果你是「Write」权限:除了保护分支外,所有其他分支都可以推送
- 如果你是「Maintain」权限:甚至能修改保护分支的设置(不过团队一般不会给新成员这个权限)
方法2:用Git命令行快速测试(适合已追踪的分支)
你已经通过git remote show origin看到了所有远程分支,比如adding-tests、admin-panel-fixes这些,你可以选一个测试分支尝试推送(注意别推无关代码,最好先拉取最新版本):
# 先拉取远程分支的最新内容,避免冲突 git pull origin adding-tests # 用空提交测试推送权限(不会影响代码) git commit --allow-empty -m "Test push permission" git push origin adding-tests
如果推送成功,说明你对这个分支有推送权限;如果失败,终端会给出权限不足的明确提示。
额外提示:保护分支的正常协作流程
既然master是受保护分支,团队大概率是要求大家在feature分支开发,然后提交Pull Request(PR)到master,经过审核后再合并。所以即使你没有master的推送权限,也不用慌,这是团队项目里标准的协作方式。
内容的提问来源于stack exchange,提问作者Dave




