Git——git push 错误[ ! [rejected] master -> master (non-fast-forward)]解决方案

问题描述 

git push -u origin master
To https://github.com/XXX/XXX.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/XXX/XXX.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

问题分析

Git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。

远程仓库和本地仓库存在差异。

解决方案

方法一:同步

1、git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异

2、重新add和commit相应文件

3、git push origin master

4、此时就能够上传成功了

方法二:强推

即利用强覆盖方式用你本地的代码替代git仓库内的内容

git push -f origin master

方法三:

先把git的东西fetch到你本地然后merge后再push

git fetch
git merge

 

参考文章

https://blog.csdn.net/xieneng2004/article/details/81044371

https://blog.csdn.net/zyz00000000/article/details/84402189

https://www.jianshu.com/p/f26c71d05e44

你可能感兴趣的:(#,Git)