Git推送至新建GitHub仓库失败:远程端意外挂断求助
解决克隆仓库推送到个人GitHub仓库失败的问题
可能的原因及对应解决步骤:
1. 确认远程仓库URL与状态
- 登录GitHub检查新建仓库是否为空:如果创建时勾选了初始化README、LICENSE或.gitignore,远程仓库会有初始提交,导致本地与远程提交历史不匹配。
- 执行
git remote -v验证origin地址是否正确,格式应为https://github.com/你的GitHub用户名/你的仓库名.git。若地址错误,用以下命令修正:git remote set-url origin https://github.com/你的GitHub用户名/你的仓库名.git
2. 处理远程仓库非空的冲突
如果远程仓库有初始提交,先拉取并合并远程内容:
git fetch origin main git merge origin main --allow-unrelated-histories # 手动解决合并冲突后,提交合并结果 git add . git commit -m "合并远程初始提交" # 重新推送 git push -u origin main
3. 解决网络连接报错(fatal: the remote end hung up unexpectedly)
这个错误通常和HTTPS连接不稳定有关,可尝试以下操作:
- 增大Git的HTTP缓存缓冲区:
git config --global http.postBuffer 524288000 - 切换为SSH协议推送:
- 生成SSH密钥:
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱" - 将
~/.ssh/id_ed25519.pub中的公钥内容添加到GitHub的「SSH and GPG keys」设置中。 - 修改远程仓库URL为SSH格式:
git remote set-url origin git@github.com:你的GitHub用户名/你的仓库名.git - 测试SSH连接:
ssh -T git@github.com,确认连接成功后执行git push -u origin main。
- 生成SSH密钥:
4. 强制推送(仅适用于远程仓库为空的情况)
若远程仓库完全为空,且上述方法无效,可尝试强制推送:
git checkout main git reset --hard HEAD git push -f origin main
注意:强制推送会覆盖远程仓库所有内容,仅在确认远程无重要内容时使用。
内容的提问来源于stack exchange,提问作者Taksh04
相关产品推荐
相关产品推荐

