當在本地init一個新倉庫時,想要與Github的倉庫連接,首先一定是這三件套命令:
git remote add origin https://github.com/(Github用戶名)/(倉庫名).git git branch -M main git push -u origin main
特別值得提出的是,由於master名稱涉嫌種族歧視原因,Github已經廢棄master名稱,改為main,所以命令第二行作用為將master名稱改為main。
但是當我們執行第三條命令的時候,即`git push -u origin main`,有時會出現一些蜜汁bug,比如:
Updates were rejected because the tip of your current branch is behind its remote counterpart. Integrate the remote changes (e.g. 'git pull ...') before pushing again.See the 'Note about fast-forwards' in 'git push --help' for details.
經查詢,這應該是本地的倉庫版本和Github的倉庫版本不一致導致的,在解決這個問題之前,需要保證已經做到以下幾點:
1.在本地創建新倉庫時,要先在本地commit一個版本,才能git push到Github
2. 要把本地的公鑰復制到Github的賬戶上,否則將不能git push和git pull
3. 當Github倉庫為非空時,第一次不能直接push上去,應該先git pull,把Github倉庫的內容復制到本地,再把所有文件一起git push上去
若已做到以上三點還是報錯(我第一次也是這樣,則說明應該就是本地的倉庫版本和Github的倉庫版本不一致的原因。
應先pull遠程倉庫,再push即可
輸入`git pull origin main --allow-unrelated-histories` (該選項可以合並兩個獨立啟動倉庫的歷史)
之后應該進入了某個文件,直接退出即可,再輸入`git push -u origin main`
此時應該已經解決了你的問題,已經將本地倉庫與Github倉庫連接,之后便可自由盡興的push和pull
若你此時還未解決問題,我也愛莫能助,因為我到了這一步已經解決了問題,你可以按照錯誤提示繼續搜索,以尋找答案,祝好運