最近自己加的開發交流羣裏有不少問git push遠程倉庫報錯的問題,報錯內容基本都是error: failed to push some refs to‘[email protected]:xxx.git’。看到這裏,又想起當年被git所支配的恐怖,當年也是踏過這個坑的人,記得怎麼試都不行,折騰了一下午,後來經高人指教後含淚解決,本身不是什麼大問題,但是如果不注意一些細節的話,還是相當折磨人的。
這個問題發生的背景一般是:
想把自己本地的某個項目關聯到遠程倉庫並推送上去
接着他會做如下操作:
本地項目—>遠程創建倉庫—>本地關聯遠程—>推送最新代碼
最後一個步驟發生問題:
那麼問題是怎麼導致發生的呢?
那Android項目舉例,很多人在創建倉庫的時候,都會勾選這個操作
初識了一個README文件並配置添加了Android項目忽略文件。當點擊創建倉庫時,它會幫我們做一次初始提交。於是我們的倉庫就有了README.md和.gitignore文件,然後我們把本地項目關聯到這個倉庫,並把項目推送到倉庫時,回報文章開題的那個錯誤,這是因爲,我們在關聯本地與遠程時,兩端都是有內容的,但是這兩份內容並沒有聯繫,當我們推送到遠程或者從遠程拉取內容時,都會有沒有被跟蹤的內容,於是你看git報的詳細錯誤中總是會讓你先拉取再推送,但是拉取總是失敗。
想要避免這種問題,就要保持創建的倉庫是一個空倉庫,什麼都沒有。
並且在創建倉庫時,其實Github是有提示的,相信很多人都沒有注意過紅框裏面的小字。
Skip this step if you’re importing an existing repository.
如果要導入現有存儲庫,請跳過此步驟。
This will let you immediately clone the repository to your computer.
這將允許您立即將存儲庫克隆到您的計算機。
看到沒,其實Github都已經告訴過你了,只是你沒注意到。當把紅框裏的鉤鉤去掉創建倉庫後,Github會給你一個提示。
再跟着給的提示在自己本地項目的跟目錄裏敲就行了
之後再試試把項目推送上去
ok,完事兒了,沒想到讓你折騰一番的問題就這麼簡單的解決了吧,看來真是細節不容忽視啊~