git push error. ! [rejected] master -> master (non-fast-forward)


 錯誤提示:

Cheetah@xxxx MINGW64 /e/Projs/enft/data/cv_key_frame (master)
$ git push
To github.com:AnthonyGIS/video_frame.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:AnthonyGIS/video_frame.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.

Cheetah@xxxx MINGW64 /e/Projs/enft/data/cv_key_frame (master)

 問題(Non-fast-forward)的出現原因在於:git倉庫中已經有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。

 

方法1

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

如果遠程倉庫是剛建的,沒有代碼 或者你確定遠程倉庫中的代碼沒有用了,可以這樣操作,盡量避免這種操作方法。

git push -f

 

方法2

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

$ git fetch
$ git merge

如果在git merge的時候出現

fatal: refusing to merge unrelated histories

可以使用,git pull origin master --allow-unrelated-histories,來處理一下。

 

繼續git merge

若,出現:

fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.

是我們沒有提交當前的變化, git add .,git commit -am "提交信息",然后再來一次git merge,然后ok.

 

最后 git push。(git push origin master)。

提示Already up-to-date. 就好了,上傳完成。

 

 

 

參考

git 推送錯誤 ! [rejected] master -> master (non-fast-forward)解決方案

 


免責聲明!

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



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