背景是前幾天進行項目git倉庫拆分,對一些現有的git倉庫修改,對如今使用的一個項目遷移到另外一個倉庫中。問題是這個倉庫是N久以前創建的,有一些舊的代碼。本地的項目還有N多個分支。遷移的目的很明確,將現有的代碼的分支進行合併,而後推送到新的git倉庫。
由於是頭一次作這件事兒,因此走了一條彎路,我先是簡單的給本地倉庫更換新的地址git remote set-url origin [遠程倉庫地址]
這樣本地倉庫已經完成了遷移?是否是能夠愉快的繼續了呢?所以咱們先把新的遠程倉庫裏的代碼pull
一下吧;
報錯!gitThere is no tracking information for the current branch
git
這是由於本地分支和遠程分支沒有創建聯繫,根據提示
git branch --set-upstream-to=origin/master master
這樣兩個倉庫創建了關聯,pull
一下,衝突是確定的,由於個人項目緣故,我是用本地文件解決的衝突,解決衝突後,把本地的分支合併一下吧:url
git branch
查看分支;git checkout master
git merge [待合主幹的分支名]
git add .
git commit -m 合主幹
git push
到這裏倉庫的遷移彷佛完成了,下面開始解決歷史遺留問題吧——刪除多餘的本地/遠程分支:code
git branch -d [待刪除本地分支名]
git branch -r
git push -d origin [待刪除遠程分支名]