如何解决Git推送错误“error: failed to push some refs to”?
问题解决指南
一、修复推送命令的分支名错误
你之前执行的git push --set-upstream origin <my_repository_name>存在逻辑错误:<my_repository_name>是仓库名称,而非要推送的分支名称。
如果要把本地main分支推送到自己的远程仓库,正确命令为:
git push --set-upstream origin main
如果想推送到自己仓库的新分支(避免直接覆盖远程main),先创建本地分支再推送:
# 创建并切换到新分支 git checkout -b feature/custom-change # 推送到自己的远程仓库并关联分支 git push --set-upstream origin feature/custom-change
二、解决403权限拒绝错误
出现403是因为本地Git未正确配置访问你自己GitHub仓库的权限,可按以下方式处理:
- 核对远程仓库地址:执行
git remote -v确认origin指向的是你的复刻仓库,URL格式应为https://github.com/你的用户名/你的仓库名.git或SSH格式git@github.com:你的用户名/你的仓库名.git。 - 切换到SSH协议(推荐):HTTPS容易出现凭据问题,换成SSH地址:
需提前在GitHub账号中配置好SSH公钥。git remote set-url origin git@github.com:你的用户名/你的仓库名.git - 更新HTTPS凭据:若坚持用HTTPS,需更新本地存储的GitHub凭据:
- Windows:打开「凭据管理器」,删除旧的GitHub相关条目,重新操作时输入用户名和个人访问令牌(PAT)。
- Mac:打开「钥匙串访问」,找到GitHub相关条目并删除,重新推送时验证。
- Linux:执行
git config --global credential.helper store,之后推送时输入PAT作为密码。
三、确认远程仓库推送目标
你的git remote -v显示origin指向自己的仓库、upstream指向原作者仓库,推送时务必指定origin作为目标,不要推送到upstream(你没有原作者仓库的推送权限)。
内容的提问来源于stack exchange,提问作者Rebel
相关产品推荐
相关产品推荐

