如何从一个Git回购迁移到另一个Git回购?

如何从一个Git回购迁移到另一个Git回购?,git,version-control,gitlab,Git,Version Control,Gitlab,我需要从一个Git repo迁移到另一个Git repo。目的地不是空的。过去有人显然已经做过这项工作,但现在所有的分支都过时了 情况就是这样: 源远程存储库:repo\u源 分支机构: 分支机构 分支机构 分支机构 分支机构 目标远程存储库:repo\u dest 分支机构: 分支机构 分支机构 其想法是需要使用新数据更新缺失的分支(分支C、分支D)和现有分支(分支A、分支B) 举个例子,这里只有4个分支机构,但在房地产领域则更多。那么,是否有一种方法(脚本)可以使此迁移变得简单?使用

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

情况就是这样:

源远程存储库:
repo\u源

分支机构:

  • 分支机构
  • 分支机构
  • 分支机构
  • 分支机构
目标远程存储库:
repo\u dest
分支机构:

  • 分支机构
  • 分支机构
其想法是需要使用新数据更新缺失的分支(分支C、分支D)和现有分支(分支A、分支B)


举个例子,这里只有4个分支机构,但在房地产领域则更多。那么,是否有一种方法(脚本)可以使此迁移变得简单?

使用git Clone命令克隆repo\u source

git clone repo_source
一旦完成

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

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

您可以将
repo\u 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

我建议先试试没有<代码>——力,如果它工作得很好,如果它在强迫之前不考虑这个问题。是的,我正在做类似的事情,但是我得到了消息分支“主”设置来跟踪远程分支“主”从“RePoimDest'”。一切都是最新的。实际上什么也没有发生,它似乎在忽略所有参数,然后不要使用
--all
。分别推动每个分支。你可以做另一件事。签出
master
到新分支,删除本地
master
分支,推送所有分支,恢复master分支。