1. 程式人生 > >git無法pull倉庫refusing to merge unrelated histories (拒絕合並不相關倉庫)

git無法pull倉庫refusing to merge unrelated histories (拒絕合並不相關倉庫)

title fatal 有一個 using jpg 告訴 內容 lin ice

原文地址 https://blog.csdn.net/lindexi_gd/article/details/52554159

本文講的是把git在最新2.9.2,合並pull兩個不同的項目,出現的問題如何去解決

如果合並了兩個不同的開始提交的倉庫,在新的 git 會發現這兩個倉庫可能不是同一個,為了防止開發者上傳錯誤,於是就給下面的提示

fatal: refusing to merge unrelated histories

如我在Github新建一個倉庫,寫了License,然後把本地一個寫了很久倉庫上傳。這時會發現 github 的倉庫和本地的沒有一個共同的 commit 所以 git

不讓提交,認為是寫錯了 origin ,如果開發者確定是這個 origin 就可以使用 --allow-unrelated-histories 告訴 git 自己確定

遇到無法提交的問題,一般先pull 也就是使用 git pull origin master 這裏的 origin 就是倉庫,而 master 就是需要上傳的分支,因為兩個倉庫不同,發現 git 輸出 refusing to merge unrelated histories 無法 pull 內容

因為他們是兩個不同的項目,要把兩個不同的項目合並,git需要添加一句代碼,在 git pull 之後,這句代碼是在git 2.9.2版本發生的,最新的版本需要添加 --allow-unrelated-histories

告訴 git 允許不相關歷史合並

假如我們的源是origin,分支是master,那麽我們需要這樣寫 git pull origin master --allow-unrelated-histories 如果有設置了默認上傳分支就可以用下面代碼

 git pull --allow-unrelated-histories 
  • 1

技術分享圖片

這個方法只解決因為兩個倉庫有不同的開始點,也就是兩個倉庫沒有共同的 commit 出現的無法提交。如果使用本文的方法還無法提交,需要看一下是不是發生了沖突,解決沖突再提交

git無法pull倉庫refusing to merge unrelated histories (拒絕合並不相關倉庫)