关于从 Team Foundation 版本控制导入
我们推荐使用 Azure Repos 将您的 Team Foundation 版本控制 (TFVC) 存储库转换为 Git。但是,Azure Repos 只迁移最多 180 天的历史记录。如果您希望保留更多历史记录,则可以使用 `git-tfs`。
使用 Azure Repos 迁移(推荐)
注意
Azure Repos 只迁移最多 180 天的历史记录。您存储库在 180 天阈值之前的状态将在一个初始提交中迁移。要保留更多历史记录,请参阅“使用 `git-tfs` 迁移”。
要执行以下步骤,您必须使用 macOS 或 Linux 系统并安装以下工具:
- Git
- Git 大型文件存储 (Git LFS)(请参阅“安装 Git 大型文件存储”)
-
在 GitHub 上创建一个新的存储库。为避免错误,请不要使用 README、许可证或 gitignore 文件初始化新存储库。项目推送到 GitHub 后,您可以添加这些文件。有关详细信息,请参阅“创建新的存储库”。
-
要确认 Git 已安装在您的计算机上,请运行 `git --version`。
输出应类似于 `git version 2.40.0`。
-
要确认 Git LFS 已安装在您的计算机上,请运行 `git lfs --version`。
输出应类似于 `git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)`。
-
使用 Azure Repos 将您的 TFVC 存储库转换为 Git。有关说明,请参阅 Microsoft Learn 中的从 TFVC 导入存储库到 Git。
-
要将您的 Azure Repos 存储库克隆到本地计算机,请运行 `git clone --mirror URL`,将 URL 替换为您 Azure DevOps 存储库的克隆 URL。
要查找 Azure DevOps 存储库的克隆 URL,请参阅 Microsoft Learn 中的获取 Azure Repos Git 存储库的克隆 URL。
-
要添加您的 GitHub 存储库作为远程存储库,请运行 `git remote add origin URL`,将 `URL` 替换为您之前创建的 GitHub 存储库的 URL,例如 `https://github.com/octocat/example-repository.git`。
-
要将存储库推送到 GitHub,请运行 `git push --mirror origin`。
如果您的存储库包含任何大于 GitHub 文件大小限制的文件,则推送可能会失败。通过运行 `git lfs import` 将大型文件移动到 Git LFS,然后重试。
使用 `git-tfs` 迁移
如果您使用 `git-tfs` 迁移,您将保留 TFVC 存储库的完整历史记录。
要执行以下步骤,您必须使用 Windows 并安装以下工具:
- Visual Studio Team Explorer
- `git-tfs`,使用 Chocolatey 安装或手动下载二进制发行版
- Git
- Git 大型文件存储 (Git LFS)(请参阅“安装 Git 大型文件存储”)
-
在 GitHub 上创建一个新的存储库。为避免错误,请不要使用 README、许可证或 gitignore 文件初始化新存储库。项目推送到 GitHub 后,您可以添加这些文件。有关详细信息,请参阅“创建新的存储库”。
-
要确认 Git 已安装在您的计算机上,请运行 `git --version`。
输出应类似于 `git version 2.40.0`。
-
要确认 `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。
-
要确认 Git LFS 已安装在您的计算机上,请运行 `git lfs --version`。
输出应类似于 `git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)`。
-
如果您尚未配置 Git,请通过运行 `git config --global user.name "NAME"` 和 `git config --global user.email EMAIL` 来配置您的姓名和电子邮件地址,将 NAME 替换为您的姓名,将 EMAIL 替换为您的电子邮件地址。
-
运行 `git tfs clone`,传递 TFVC 存储库的 URL 和存储库路径作为参数。例如,要将 `https://dev.azure.com/octocat` 中的 `example` 存储库转换为存储在 `/example` 目录中的 Git 存储库,请运行 `git tfs clone --branches=all https://dev.azure.com/octocat $/example`。
-
进入新创建的 Git 存储库的目录。
-
要添加您的 GitHub 存储库作为远程存储库,请运行 `git remote add origin URL`,将 `URL` 替换为您之前创建的 GitHub 存储库的 URL,例如 `https://github.com/octocat/example-repository.git`。
-
要将存储库推送到 GitHub,请运行 `git push --mirror origin`。
如果您的存储库包含任何大于 GitHub 文件大小限制的文件,则推送可能会失败。通过运行 `git lfs import` 将大型文件移动到 Git LFS,然后重试。