代码之家  ›  专栏  ›  技术社区  ›  cdub

从TFS转到Git

  •  0
  • cdub  · 技术社区  · 2 年前

    我有一个客户端服务器,它的权限有限(没有互联网或许多安装权限),但它包含一个TFS版本。有什么办法可以把数据和历史记录带到我的本地计算机上放入GIt吗?

    我尝试过Git TFS,但无法在服务器上安装它,并尝试运行源代码。

    除了我之外,还有什么想法下载了每个分支的代码,然后逐个分支添加它们,忽略每个分支之前的提交?

    0 回复  |  直到 2 年前
        1
  •  1
  •   jessehouwing    2 年前

    Depending on the version of TFS on the server, it could have a built-in option to import the TFVC history into a git repo on the same server 。之后,您可以将其镜像克隆到磁盘并复制。不过,这将从单个分支获取有限的历史记录。

    Git TFS不需要在服务器上有任何特殊权限即可运行,因此,与其使用安装程序,不如尝试通过从您自己的工作站复制已安装的位来创建可移植版本。

    您需要几样东西:

    • git的可移植版本。
    • tf.exe的可移植版本(可以从Visual Studio安装中复制团队资源管理器文件夹)
    • Git TFS的可移植版本。

    打开命令提示符,将3个可执行文件的路径添加到路径变量中,然后运行该工具。它应该只是工作。

    在极端情况下,我会获得TFS数据库的副本,在我的机器上安装TFS/AAzure DevOps服务器的本地副本,并连接数据库。这样,您就可以完全访问服务器中的内容,从而运行所需的任何工具,而无需在原始服务器中安装任何内容。

        2
  •  0
  •   VonC    2 年前

    是的,但服务器没有互联网,我无法从本地访问它。

    客户端必须为每个分支HEAD导出一个zip文件,以便在新的Git本地存储库中导入所述分支。

    这确实会忽略在每个分支中完成的提交,这是“复杂”迁移的标准操作(保留旧存储库以供参考)

    但是您仍然需要将新的存储库导出回客户端,您可以这样做 with git bundle .