背景是前几天进行项目git仓库拆分,对一些现有的git仓库修改,对现在使用的一个项目迁移到另一个仓库中。问题是这个仓库是N久之前建立的,有一些旧的代码。本地的项目还有N多个分支。迁移的目的很明确,将现有的代码的分支进行合并,然后推送到新的git仓库。

因为是头一次做这件事儿,所以走了一条弯路,我先是简单的给本地仓库更换新的地址
git remote set-url origin [远程仓库地址]
这样本地仓库已经完成了迁移?是不是可以愉快的继续了呢?因此我们先把新的远程仓库里的代码pull一下吧;
报错!
gitThere is no tracking information for the current branch

这是因为本地分支和远程分支没有建立联系,根据提示

git branch --set-upstream-to=origin/master master
这样两个仓库建立了关联,pull一下,冲突是肯定的,因为我的项目缘故,我是用本地文件解决的冲突,解决冲突后,把本地的分支合并一下吧:

  • git branch 查看分支;
  • 切换成本地的master分支git checkout master
  • git merge [待合主干的分支名]
  • git add .
  • git commit -m 合主干
  • git push

到这里仓库的迁移似乎完成了,下面开始解决历史遗留问题吧——删除多余的本地/远程分支:

  • git branch -d [待删除本地分支名]
  • git branch -r
  • git push -d origin [待删除远程分支名]

271626514
95 声望7 粉丝