git pull "fatal: 拒絕合並無關的歷史"


在git倉庫中新建了一個倉庫,想要把本地的項目傳上去

在項目中:

git init
git add .
git commit "提交說明"

連接遠程主機:

git remote add  origin  遠程倉庫地址

push到遠程倉庫:

git  push origin master
MacBook-Pro:~/go/src/demo/open$ git push -u origin master
To codehub.devcloud.huaweicloud.com:t00001/open.git
 ! [rejected]        master -> master (non-fast-forward)
error: 推送一些引用到 'git@codehub.devcloud:Openxt00001/open.git' 失敗
提示:更新被拒絕,因為您當前分支的最新提交落后於其對應的遠程分支。
提示:再次推送前,先與遠程變更合並(如 'git pull ...')。詳見
提示:'git push --help' 中的 'Note about fast-forwards' 小節。

提示先拉取更新

MacBook-Pro:~/go/src/demo/open$ git pull origin master
來自 codehub.devcloud.enxt00001/open
 * branch            master     -> FETCH_HEAD
fatal: 拒絕合並無關的歷史

解決方法:
在拉取時使用以下命令:

git pull origin master --allow-unrelated-histories 

對此,官方解釋如下:

By default, git merge command refuses to merge histories that do not share a common ancestor. This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable this by default exists and will not be added.

默認情況下,git合並命令拒絕合並沒有共同祖先的歷史。當兩個項目的歷史獨立地開始時,這個選項可以被用來覆蓋這個安全。由於這是一個非常少見的情況,因此沒有默認存在的配置變量,也不會添加。(有道翻譯)

之后在執行:

git push origin master


免責聲明!

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



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