提交代碼報錯 error: failed to push some refs to


在本人想把本地的分支推送到遠程倉庫時,突然出現了錯誤提醒error: failed to push some refs to...。心里一咯噔,推不上去這還得了,手比腦快地就去google了一下。
然后就發現,這個error發生的情況竟然還挺多樣化。鑒於自己搜到的頁面,都是分散的答案,所以在此做個總結,以免日后又碰到這類錯誤,爛記性又促使我花費一樣的時間去尋找一樣的答案。

分支名不完整


emmm,這個錯誤大概是最難發現的了,不是說難度系數高,而是大家都把以本地master與遠程master為例去寫答案,於是大家會下意識忽略掉本地分支與遠程分支名不一樣的情況。(也可能這個大家只包含了我....)

git推送的完整寫法如下:

  git push @remoteName  @localBranch:@remoteBranch

  // eg.remoteName:origin  localBranch:ceshi  remoteBranch:test
  git push origin ceshi:test

 

但是如果本地分支與遠程分支名字一樣的話,是可以簡寫的。例如本地和遠程的分支名都是master:

 git push origin master

 

如果確認分支名沒有錯,那就繼續往下看

沒有提交代碼


可以用 git status查看是否忘了把代碼提交上去了。若是忘了,提交了就行。

  git add .
  git commit -m "This is a new commit"
  git push origin master

 

本地與遠程產生沖突


或是有其他協作者提交了代碼,或是你之前在遠程上直接做了處理。這部分有兩個處理方法,一是直接強覆蓋,二是先把遠程的變化拉取下來,解決沖突后,再一並提交。

強覆蓋

  git push -f origin master
拉取再提交 git pull –
-rebase origin maste git push origin master

 

當然本人是建議能第二種就第二種,暴力美學越少見越好。


免責聲明!

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



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