提交程式碼報錯 error: failed to push

陌濤想把本地的分支推送到遠端倉庫時,突然出現了錯誤提醒error: failed to push some refs to。。。。瞅了瞅,也沒錯呀,那為啥推不上去???

然後就發現,這個error發生的情況竟然還挺多樣化。剛剛推Gitee(碼雲)的時候,是master,現在推Github是main,改了下,順便pull了遠端倉庫,再push,就推送成功了。

鑑於自己搜到的頁面,都是分散的答案,所以在此做個總結,以免日後又碰到這類錯誤,爛記性又促使我花費一樣的時間去尋找一樣的答案。

分支名不完整

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

git推送的完整寫法如下:

git push @remoteName @localBranch:@remoteBranch// eg。remoteName:origin localBranch:ceshi remoteBranch:testgit 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

附上剛剛出現的問題截圖

提交程式碼報錯 error: failed to push