跳至主要内容

导入 Team Foundation Version Control 仓库

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

关于从 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.com 上创建一个新的仓库。为了避免错误,请不要使用 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 中的 从 TFVC 导入仓库到 Git

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

    要确定 Azure DevOps 仓库的克隆 URL,请参阅 Microsoft Learn 中的 获取 Azure Repos Git 仓库的克隆 URL

  6. 要将您的 GitHub 仓库添加为远程仓库,请运行 git remote add origin URL,将 URL 替换为您之前创建的 GitHub 仓库的 URL,例如 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.com 上创建一个新的仓库。为了避免错误,请不要使用 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)) 的内容开头。

    如果您得到类似于 无法加载 DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': 找不到指定的模块。 (来自 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,请使用您的姓名和电子邮件地址运行 git config --global user.name "NAME"git config --global user.email EMAIL,将 NAME 替换为您的姓名,将 EMAIL 替换为您的电子邮件地址。

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

  7. 移动到新创建的 Git 存储库的目录。

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

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

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

进一步阅读