如何从一个Git仓库迁移到另一个Git仓库?

时间:2020-07-05 16:59:48

标签: git version-control gitlab

我需要从一个Git仓库迁移到另一个Git仓库。目的地不为空。过去显然有人已经完成了这项工作,但是现在所有分支都已过时。

这种情况:

源远程存储库:repo_source

分支机构:

  • branch_A
  • branch_B
  • branch_C
  • branch_D

目标远程存储库:repo_dest 分支机构:

  • branch_A
  • branch_B

这个想法是要使用新数据更新缺少的分支(branch_C,branch_D)和已经存在的分支(branch_A,branch_B)。

作为示例,这里只有4个分支,但实际上更多。那么,有没有一种方法(脚本)可以简化迁移过程?

2 个答案:

答案 0 :(得分:2)

使用git clone命令克隆存储库repo_source。

git clone repo_source

完成后

git remote add repo_dest repo_dest_url
git push --force --all repo_dest 

这也应该替换所有目标分支(即使存在)。

答案 1 :(得分:0)

您可以将repo_dest存储库添加为另一个远程服务器,然后在本地拉并合并更改并将其推送。

从您的本地工作目录尝试以下操作;

git remote add new_origin ORIGIN_URL           # add new remote
git pull new_origin branch_A                   # pull, merge branch_A and fix conflicts (if any)
git pull new_origin branch_B                   # pull, merge branch_B and fix conflicts (if any)
git push new_origin branch_A                   # push each branch to the new remote
git push new_origin branch_B
git push new_origin branch_C
git push new_origin branch_D