如果我不提到 git-tf 并不是要替代适当的迁移和集成工具,那我就失职了。
也就是说,如果你想尝试,你不能简单地git tf clone
一个存储库,然后git tf checkin
到另一个服务器。 git-tf
将提交映射到变更集以确保 git 和 TFS 存储库的一致性。因此,当您更改远程时,它会在新服务器中查找这些更改集。
如果您真的想将其推送到新服务器,则需要删除更改集以提交映射。
要做到这一点,最简单和最可靠的方法 - 不会弄乱配置数据 - 是简单地克隆 git 存储库并使用新服务器设置克隆的存储库。然后你可以git tf checkin
对它:
$ git clone ~/path/to/repo ~/path/to/cloned_repo
Cloning into cloned_repo...
done.
$ cd ~/path/to/cloned_repo
$ git-tf configure https://youraccount.visualstudio.com/DefaultCollection $/YourProject
Configuring repository
$ git-tf checkin
Connecting to TFS...
Checking in to $/YourProject: 100%, done.
由于git-tf
仅映射单个 TFS 存储库,因此这也允许您进行增量移动。如果在初始迁移之后,您想要迁移新的变更集,您可以将它们拉到克隆的 git 存储库,然后将它们推送到新的 TFS 服务器而无需重新配置。
$ cd ~/path/to/cloned_repo
$ git pull ~/path/to/repo
$ git-tf checkin
Connecting to TFS...
Checking in to $/YourProject: 100%, done.