1. 程式人生 > >git提交原生代碼到遠端倉庫之前沒有pull導致push失敗解決辦法

git提交原生代碼到遠端倉庫之前沒有pull導致push失敗解決辦法

git push錯誤failed to push some refs to的解決

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

如下圖所示 
我在github庫中對某個檔案進行了線上的編輯,並且沒有同步到本地庫,之後我在本地庫添加了檔案test.txt,並想提交到github,出現以下錯誤:error:failed to push some refs to。 
gitpush失敗

解決方案

這個問題是因為遠端庫與本地庫不一致造成的,那麼我們把遠端庫同步到本地庫就可以了。 
使用指令

git pull --rebase origin master
  • 1

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

如圖: 
gitpush

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

gitpush失敗2 
git pull –rebase origin master意為先取消commit記錄,並且把它們臨時 儲存為補丁(patch)(這些補丁放到”.git/rebase”目錄中),之後同步遠端庫到本地,最後合併補丁到本地庫之中。 
gitpush失敗3

 
接下來就可以把本地庫push到遠端庫當中了。 
gitpush失敗4