git 錯誤:failed to push some refs to


原文鏈接

問題說明

當我們在github版本庫中發現一個問題后,你在github上對它進行了在線的修改;或者你直接在github上的某個庫中添加readme文件或者其他什么文件,但是沒有對本地庫進行同步。這個時候當你再次有commit想要從本地庫提交到遠程的github庫中時就會出現push失敗的問題。

我在github庫中對某個文件進行了在線的編輯,並且沒有同步到本地庫,之后我在本地庫添加了文件test.txt,並想提交到github,出現以下錯誤:error:failed to push some refs to。

 

解決方案

這個問題是因為遠程庫與本地庫不一致造成的,那么我們把遠程庫同步到本地庫就可以了。
使用指令
注意:此處我使用的是master分支,請根據自己的開發分支更換分支。

git pull --rebase origin master

這條指令的意思是把遠程庫中的更新合並到本地庫中,–rebase的作用是取消掉本地庫中剛剛的commit,並把他們接到更新后的版本庫之中。

如圖:

下面我用圖形象的解釋下錯誤情況的發生和解決

 

git pull --rebase origin master意為先取消commit記錄,並且把它們臨時 保存為補丁(patch)(這些補丁放到".git/rebase"目錄中),之后同步遠程庫到本地,最后合並補丁到本地庫之中。

接下來就可以把本地庫push到遠程庫當中了。

 

 

  如果在執行下列命令繼續報錯:

git pull --rebase origin master  

錯誤:The following untracked working tree files would be overwritten by merge

錯誤原因:些沒有提交到暫存區的文件將被遠程的倉庫覆蓋,請移動或移除這些文件。

git clean -d -fx

git clean -d -fx表示:刪除 一些沒有 git add 的 文件;

    git clean 參數 

    -n 顯示將要刪除的文件和目錄;

    -x -----刪除忽略文件已經對git來說不識別的文件

    -d -----刪除未被添加到git的路徑中的文件

    -f -----強制運行

 


免責聲明!

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



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