git重新關(guān)聯(lián)遠程分支

背景描述

某個項目工程已經(jīng)關(guān)聯(lián)了遠程倉庫的分支,現(xiàn)在需要取消關(guān)聯(lián),然后重新關(guān)聯(lián)到另一個遠程倉庫的分支。

操作步驟

(1) 取消與當(dāng)前遠程倉庫的關(guān)聯(lián)

// 查看遠程倉庫
git remote show origin

// 查看當(dāng)前分支關(guān)聯(lián)的遠程分支
git branch -vv

// 取消與遠程倉庫關(guān)聯(lián)
git remote remove origin

(2) 重新添加需要關(guān)聯(lián)的遠程倉庫

git remote add origin git@xxxxx:xxx/xxx.git

(3) 提交到遠程分支

// 首先pull一下
git pull origin develop

// 然后提交至遠程分支
git push --set-upstream origin develop

問題記錄

問題描述
在執(zhí)行上述步驟(3) git pull命令的時候,出現(xiàn)如下錯誤提示:

 * branch              develop    -> FETCH_HEAD
fatal: refusing to merge unrelated histories
(拒絕合并不相關(guān)的歷史)

問題原因
這是由于在gitlab創(chuàng)建遠程分支的時候,自動添加了readme.md.gitignore文件,而本地的項目中也有這兩個文件,這就導(dǎo)致了本地與遠程分支出現(xiàn)文件沖突。

解決方案
在執(zhí)行git pull命令的時候帶上--allow-unrelated-histories選項,該選項可以合并兩個本地分支和遠程分支的歷史。

git pull origin develop --allow-unrelated-histories
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容