Git 本地推送遠端失敗 non-fast-forward

低吟不作語發表於2020-10-05

To github.com:Yee-Q/yeexang-community.git
 ! [rejected]        dev -> dev (non-fast-forward)
error: failed to push some refs to 'git@github.com:Yee-Q/yeexang-community.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

錯誤提示如上,本地專案向遠端推送時,提示遠端 non-fast-forward,即時本地比遠端領先,推送前必須先合併,Git 也給出提示了,要我們先 git pull


There is no tracking information for the current branch

這是因為沒有指定本地分支與遠端分支的關聯,可以使用

git pull origin dev

如果希望一勞永逸,可以使用

git branch --set-upstream-to=origin/dev

fatal: refusing to merge unrelated histories

執行 pull 操作時,如果出現這個錯誤,是由於本地倉庫和遠端倉庫有不同的開始點,也就是兩個倉庫沒有共同的 commit 點而出現的無法提交。這裡我們需要用到 --allow-unrelated-histories,也就是我們的 pull 命令改為下面這樣的:

git pull --allow-unrelated-histories

fix conflicts and then commit the result

pull 操作會自動進行合併,但產生了衝突。一般會有提示是哪個檔案產生衝突,找到對應的檔案進行修改,再提交一次就行了


相關文章