git 推送错误 ! [rejected] master -> master (non-fast-forward)解决方案
错误1——【 git push -u origin master 推送到远程时报错】
git推送报non-fast-forward,原因是远程仓库已有部分代码,Git不允许直接覆盖。常规做法是先git fetch取回远程提交、git merge合并后再push;仅当远程是刚建的空仓库时才考虑git push -f强推。若merge报refusing to merge unrelated histories,执行git pull origin master --allow-unrelated-histories;再遇MERGE_HEAD exists则先add并commit当前变更,重新merge后推送成功。
- non-fast-forward根因:远程已有代码,禁止直接覆盖
- 安全方案:git fetch加git merge后再push
- unrelated histories需--allow-unrelated-histories放行
- MERGE_HEAD exists说明有未完成的合并,先commit再merge
- push -f仅适合全新空仓库,尽量避免
错误1——【 git push -u origin master 推送到远程时报错】
错误信息

问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:
1、强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容,如果远程仓库是刚建的,没有代码,可以这样操作,尽量避免这种操作方法。
git push -f
2、先把git的东西fetch到你本地然后merge后再push
$ git fetch $ git merge
3、在使用的时候,git merge,又出现了以下的问题
xu:QProj xiaokai$ git merge fatal: refusing to merge unrelated histories
对于这个问题。
原创不易,完成人机校验,阅读全文
常见问题
git push被拒绝non-fast-forward怎么处理?
先git fetch拉取远程提交,git merge合并本地修改后重新push;确认远程可覆盖才用git push -f。出现unrelated histories时给pull或merge追加--allow-unrelated-histories参数。
相关推荐
工作小总结【已解决】git提交时候错误信息: ! [remote rejected] master -> master (pre-receive hook declined)工作小总结&小工具类idea git 拉取特别慢解决方案 资源git 提示error setting certificate verify locations 解决方案经验分享高并发解决方案REDISredis击穿,穿透,雪崩以及解决方案工作小总结记录一次Status Code:400 Bad Request解决方案及打印错误原因经验分享【经验】在微信公众号开发过程中,错误: Code=40164解决方案。AI相关本地docker部署Dify之后,在添加硅基流动,提示错误:Internal Server Erro! 解决方案