Git提示创建新分支未找到,推送代码遭拒绝的问题求助
Git分支分歧推送失败解决方案
问题说明
你的本地main分支和远程origin/main分支提交历史出现分叉:本地有2个远程没有的提交,远程有1个本地没有的提交,所以推送时被拒绝(非快进更新)。你没有创建新分支,当前操作的就是main分支,提示里的"diverged"指的是分支历史分叉,不是存在新分支。
解决方法
方法1:合并远程提交(保留所有历史,推荐)
- 拉取远程
main分支并合并到本地:git pull origin main - 如果出现冲突,打开冲突文件,手动解决冲突(删除
<<<<<<<、=======、>>>>>>>这类标记符号,保留需要的代码内容) - 提交合并结果:
git add . git commit -m "合并远程main分支的更改" - 再次推送本地提交:
git push origin main
方法2:强制同步远程分支(丢失本地提交,谨慎使用)
如果你不需要本地的2个提交,想完全同步远程状态:
- 拉取远程最新提交:
git fetch origin main - 强制将本地
main分支重置为远程状态:git reset --hard origin/main - 此时本地分支和远程完全一致,后续可正常操作。
内容的提问来源于stack exchange,提问作者Arjun Kallatt
相关产品推荐
相关产品推荐

