我应该如何将托管的git仓库移动到新主机?

时间:2014-06-07 16:02:31

标签: git tfs

我有一个TFS托管的git仓库(例如https://tfsfoo.com/_git),我需要将其移动到另一个TFS主机(例如https://tfsbar.com/_git

我的解决方案是执行以下操作(根据以下建议进行修改以使用--mirror):

  1. git clone https://tfsfoo.com/_git/proj --mirror
  2. 循环遍历分支(git branch -r)然后git branch - 跟踪每个分支(如this post中所述)
  3. 请注意,我已经推送到新的repo(没有分支),因此--mirror不是一个选项。
  4. git pull
  5. git remote set-url origin https://tfsbar.com/_git/proj
  6. git push --all --follow-tags
  7. 现在 - 我知道我可以试试看它是否有效(我可能会在等待答案的时候),但鉴于有多种方法可以在git中做所有事情,我想知道是否有更好的方法 - 或者更重要的是,如果这种方法有任何问题(我对git相对较新)。

2 个答案:

答案 0 :(得分:3)

由于您可以访问第二台服务器,因此推送是最简单的方式。

要为所有远程跟踪分支创建本地分支,您可以使用我通常在“git pull all branches from remote repository”处使用的单行分支。

另一种方法是git clone --mirror第一个回购,然后将其推送到第二个服务器as in this answer

答案 1 :(得分:0)

您可以使用git-copy实现此目的。

git copy https://tfsfoo.com/_git https://tfsbar.com/_git