我需要从一个Git仓库迁移到另一个Git仓库。目的地不为空。过去显然有人已经完成了这项工作,但是现在所有分支都已过时。
这种情况:
源远程存储库:repo_source
分支机构:
目标远程存储库:repo_dest
分支机构:
这个想法是要使用新数据更新缺少的分支(branch_C,branch_D)和已经存在的分支(branch_A,branch_B)。
作为示例,这里只有4个分支,但实际上更多。那么,有没有一种方法(脚本)可以简化迁移过程?
答案 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