向Git仓库推送变更时出现‘Updates were rejected’错误,如何解决?
解决Git推送失败(non-fast-forward)问题
问题原因
你的本地main分支落后于远程分支,因为远程仓库有你在线上添加的LICENSE.md提交,本地仓库没有同步这个变更,导致推送时Git拒绝非快进式更新。
分步解决(PyCharm GUI操作)
- 拉取远程最新变更
点击顶部菜单栏的Git->Pull,在弹出窗口中选择远程仓库(默认是origin)和目标分支main,点击Pull。这一步会将远程的LICENSE.md同步到本地,并自动合并到你的本地分支。如果没有文件冲突,合并会直接完成。 - 处理冲突(若出现)
如果拉取时提示文件冲突,PyCharm底部会列出冲突文件,点击Resolve进入冲突解决界面。选择保留需要的内容(或合并双方内容),完成后点击Apply,再回到Commit板块提交冲突解决的变更。 - 重新推送本地提交
回到左侧Commit板块,确认你的本地提交已存在,点击Push按钮,在弹窗中确认推送分支为main,点击Push即可完成推送。
备选命令行操作
如果PyCharm GUI操作遇到问题,可在项目目录下打开终端执行以下命令:
# 拉取远程main分支的最新变更并合并 git pull origin main # 若有冲突,解决后提交冲突变更 git add . git commit -m "Merge remote LICENSE.md into local main" # 推送本地提交到远程 git push origin main
注意事项
- 作为唯一仓库维护者,只要正确处理冲突,这个操作不会破坏仓库数据。
- 后续建议线上修改仓库后,及时拉取到本地再进行开发,避免分支不一致问题。
内容的提问来源于stack exchange,提问作者spool
相关产品推荐
相关产品推荐

