Skip to main content

导入 Team Foundation 版本控制存储库

可以通过将存储库转换为 Git,然后将 Git 存储库推送到 GitHub,从 Team Foundation 版本控制 (TFVC) 导入存储库。

关于从 Team Foundation 版本控制导入

建议使用 Azure Repos 将 Team Foundation 版本控制 (TFVC) 存储库转换为 Git。 但是,Azure Repos 最多只能迁移 180 天的历史记录。 如果要保留更多历史记录,可改用 git-tfs

注意

Azure Repos 最多只能迁移 180 天的历史记录。 存储库在 180 天阈值之前的状态将在单个初始提交中迁移。 若要保留更多历史记录,请参阅使用 git-tfs 进行迁移

若要执行这些步骤,必须使用 macOS 或 Linux 系统并安装以下工具:

  1. 在 GitHub 上创建新存储库。 为避免错误,请勿使用 README、许可或 gitignore 文件初始化新存储库。 你可以在项目推送到 GitHub 之后添加这些文件。 有关详细信息,请参阅“创建新仓库”。1. 若要确认计算机上已安装 Git,请运行 git --version.

    输出应类似于 git version 2.40.0。1. 若要确认计算机上已安装 Git LFS,请运行 git lfs --version

    输出应类似于 git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)

  2. 使用 Azure Repos 将 TFVC 存储库转换为 Git。 有关说明,请参阅 Microsoft Learn 中的将存储库从 TFVC 导入 Git

  3. 若要将 Azure Repos 存储库克隆到本地计算机,请运行 git clone --mirror URL,将 URL 替换为 Azure DevOps 存储库的克隆 URL。

    若要识别 Azure DevOps 存储库的克隆 URL,请参阅 Microsoft Learn 中的获取 Azure Repos Git 存储库的克隆 URL。 数据可复用.迁移.添加GitHub仓库作为远程 %} 数据可复用.迁移.推送到GitHub %}

使用 git-tfs 进行迁移

如果使用 git-tfs 进行迁移,将保留 TFVC 存储库的完整历史记录。

若要执行这些步骤,必须使用 Windows 并安装以下工具:

  •         [Visual Studio 团队资源管理器](https://devblogs.microsoft.com/devops/reintroducing-the-team-explorer-standalone-installer/)
    
  •         [
            `git-tfs`
            ](https://github.com/git-tfs/git-tfs),使用 Chocolatey 或通过手动下载二进制版本进行安装
    
  •         [Git](https://git-scm.com/downloads)
    
  • Git Large File Storage (Git LFS)(请参阅“安装 Git 大文件存储”)
  1. 在 GitHub 上创建新存储库。 为避免错误,请勿使用 README、许可或 gitignore 文件初始化新存储库。 你可以在项目推送到 GitHub 之后添加这些文件。 有关详细信息,请参阅“创建新仓库”。1. 若要确认计算机上已安装 Git,请运行 git --version.

    输出应类似于 git version 2.40.0

  2. 若要确认计算机上已安装 git-tfs,请运行 git tfs --version

    输出的开头应类似于 git-tfs version 0.32.0.0 (TFS client library 16.0.0.0 (MS))

    如果获得类似于 Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 的输出,请确保正确安装了 Visual Studio 团队资源管理器。

  3. 若要确认计算机上已安装 Git LFS,请运行 git lfs --version

    输出应类似于 git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)

  4. 如果尚未完成,请通过运行 git config --global user.name "NAME"git config --global user.email EMAIL 并使用你的姓名和电子邮件来配置 Git,操作时请将 NAME 替换为你的姓名,将 EMAIL 替换为你的电子邮件地址。

  5. 运行 git tfs clone,传入 TFVC 存储库的 URL 和存储库路径作为参数。 例如,若要将 example 存储库从 https://dev.azure.com/octocat 转换为存储在 /example 目录中的 Git 存储库,请运行 git tfs clone --branches=all https://dev.azure.com/octocat $/example

  6. 移动到新创建的 Git 存储库的目录中。1. 若要将 GitHub 存储库添加为远程存储库,请运行 git remote add origin URL,将 URL 替换为前面创建的 GitHub 存储库的 URL,例如 https://github.com/octocat/example-repository.git。1. 若要将存储库推送到 GitHub,请运行 git push --mirror origin

    如果仓库包含的任何文件大于 GitHub 的文件大小限制,则你的推送可能会失败。 通过运行 git lfs import 将大文件移动到 Git LFS,然后重试。