为什么按标准流程操作仍无法在GitHub创建Pull Request?
问题原因
- 仓库仅存在单个分支:Pull Request 是不同分支间的代码合并请求,若仓库仅存在1个分支,没有可用于对比的源分支,创建按钮将无法点击。
- 本地与远程分支命名不匹配:2020年之后GitHub新建仓库的默认主分支命名为
main,你本地推送的是master分支,远程此时同时存在main和master两个分支,若PR创建页未正确选择「源分支」和「目标分支」,系统无法识别可合并的差异,按钮就会置灰。 - 远程初始化文件未合并:若创建远程仓库时勾选了「Add a README file」「Add .gitignore」「Choose a license」任意一项,远程
main分支会生成本地不存在的文件,两个分支没有共同提交历史,也会导致PR无法创建。 - 待合并分支内容完全一致:若你选中的两个待合并分支没有任何内容差异,系统判定没有需要合并的内容,也会禁用创建按钮。
解决方法
若不需要走PR流程,直接将本地代码设为仓库主分支
- 进入GitHub仓库的「Settings」→「Branches」页面
- 在「Default branch」区域点击切换按钮,选择你推送上来的
master分支设为默认分支,保存即可。
若确实需要创建PR完成合并
- 进入PR创建页,先确认分支选择正确:左侧
base下拉框选目标分支(通常是main),右侧compare下拉框选你推送的master分支。 - 若页面提示「There isn’t anything to compare」,说明两个分支没有共同提交历史,在本地项目目录执行以下命令:
# 拉取远程main分支内容,允许合并无共同历史的分支 git pull origin main --allow-unrelated-histories # 处理合并冲突后重新提交推送 git add . git commit -m "merge remote main branch" git push origin master
- 刷新PR创建页,此时两个分支存在可对比的差异,创建按钮即可正常点击。
内容的提问来源于stack exchange,提问作者JJ123
相关产品推荐
相关产品推荐

