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