git push后出現錯誤 ![rejected] master -> master(non-fast-forward)


我們提交代碼git push后出現如下錯誤提示

$ git push -u origin master
To https://gitee.com/xxxxx/vue_shop.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/xxxxx/vue_shop.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倉庫中已經有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。
遠程倉庫和本地倉庫存在差異。
一般都是因為你在碼雲創建的倉庫有ReadMe文件,而本地沒有,造成本地和遠程的不同步,

解決方法:

方法一、同步

1、git pull origin master --allow-unrelated-histories //把遠程倉庫和本地同步,消除差異
2、重新add和commit相應文件
3、git push origin master
4、此時就能夠上傳成功了

如果只是因為本地沒有ReadMe文件,那么就在本地生成一個

git pull --rebase origin master  //本地生成ReadMe文件
git push origin master

方法二:強推

即利用強覆蓋方式用你本地的代碼替代git倉庫內的內容

git push -f origin master

該命令會強制上傳覆蓋遠程文件,慎用
方法三、

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

git fetch
git merge


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM