Git提交后推送自动创建新分支需走PR合并,该如何修复?
问题原因
- GitHub 2020年后新建的仓库默认主分支为
main,而本地Git初始化时默认生成的分支名为master,你推送时远程不存在master分支,因此自动创建了独立的新分支,需要走PR合并到默认主分支才能生效 - 如果你推送的本身就是远程已有的主分支,仍触发PR要求,说明你开启了对应分支的保护规则,禁止直接推送提交
修复方案
方案一:将本地提交合并到远程默认main分支,无需保留master分支
- 拉取远程
main分支到本地:git checkout -b main origin/main - 合并本地
master分支的改动到main分支:git merge master,如果出现代码冲突,手动解决冲突后再执行git add . && git commit - 推送
main分支改动到远程:git push origin main - 可选:清理多余的
master分支:本地删除执行git branch -d master,远程删除执行git push origin --delete master
方案二:将master设为远程默认分支,后续直接推送无需PR
- 进入GitHub仓库的「设置」页面,找到「分支」配置栏
- 将默认分支选项从
main修改为master并保存 - 关闭
master分支的保护规则中「要求拉取请求才能合并」的选项,即可直接推送提交到master分支
快速覆盖方案(谨慎使用,会覆盖远程main分支现有内容)
如果确认本地master分支的内容是最新的,可以直接强制推送到远程main分支,跳过合并流程:git push origin master:main -f
内容的提问来源于stack exchange,提问作者Mikolaj
相关产品推荐
相关产品推荐

