跳至主要内容

导入 Team Foundation Version Control 仓库

您可以通过将 Team Foundation Version Control(TFVC)存储库转换为 Git,然后将 Git 存储库推送到 GitHub 来导入该存储库。

关于从 Team Foundation Version Control 导入

我们建议使用 Azure Repos 将您的 Team Foundation Version Control(TFVC)存储库转换为 Git。然而,Azure Repos 只能迁移最多 180 天的历史记录。如果您希望保留更长的历史记录,可以改用 git-tfs

注意

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

要执行以下步骤,您必须使用 macOS 或 Linux 系统,并且已安装以下工具。

  1. 在 GitHub 上创建一个新仓库。为避免错误,请不要在新仓库中初始化 README、许可证或 .gitignore 文件。您可以在项目推送到 GitHub 后再添加这些文件。更多信息请参阅 创建新仓库

  2. 要确认机器上已安装 Git,请运行 git --version

    输出应类似于 git version 2.40.0

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

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

  4. 使用 Azure Repos 将您的 TFVC 存储库转换为 Git。有关说明,请参阅 Microsoft Learn 中的 Import repositories from TFVC to Git

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

    要获取 Azure DevOps 存储库的克隆 URL,请参阅 Microsoft Learn 中的 Get the clone URL of an Azure Repos Git repo

  6. 要将 GitHub 仓库添加为远程仓库,请运行 git remote add origin URL,将 URL 替换为您之前创建的 GitHub 仓库的链接,例如 https://github.com/octocat/example-repository.git

  7. 要将仓库推送到 GitHub,请运行 git push --mirror origin

    如果仓库中包含任何超出 GitHub 文件大小限制的文件,推送可能会失败。请通过运行 git lfs import 将大文件迁移到 Git LFS,然后重新尝试。

使用 git-tfs 迁移

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

要执行以下步骤,您必须使用 Windows 并安装以下工具

  1. 在 GitHub 上创建一个新仓库。为避免错误,请不要在新仓库中初始化 README、许可证或 .gitignore 文件。您可以在项目推送到 GitHub 后再添加这些文件。更多信息请参阅 创建新仓库

  2. 要确认机器上已安装 Git,请运行 git --version

    输出应类似于 git version 2.40.0

  3. 要确认 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 Team Explorer。

  4. 要确认机器上已安装 Git LFS,请运行 git lfs --version

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

  5. 如果尚未配置,请通过运行 git config --global user.name "NAME"git config --global user.email EMAIL 来设置 Git 的用户名和电子邮件地址,其中 NAME 替换为您的姓名,EMAIL 替换为您的电子邮件地址。

  6. 运行 git tfs clone,并将您的 TFVC 存储库的 URL 与存储库路径作为参数传入。例如,要将位于 https://dev.azure.com/octocatexample 存储库转换为存放在 /example 目录下的 Git 存储库,请运行 git tfs clone --branches=all https://dev.azure.com/octocat $/example

  7. 进入新创建的 Git 仓库所在的目录。

  8. 要将 GitHub 仓库添加为远程仓库,请运行 git remote add origin URL,将 URL 替换为您之前创建的 GitHub 仓库的链接,例如 https://github.com/octocat/example-repository.git

  9. 要将仓库推送到 GitHub,请运行 git push --mirror origin

    如果仓库中包含任何超出 GitHub 文件大小限制的文件,推送可能会失败。请通过运行 git lfs import 将大文件迁移到 Git LFS,然后重新尝试。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.