关于从 Team Foundation Version Control 导入
我们建议使用 Azure Repos 将您的 Team Foundation Version Control(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 中的 Import repositories from TFVC to Git。
-
要将 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。
-
要将 GitHub 仓库添加为远程仓库,请运行
git remote add origin URL,将URL替换为您之前创建的 GitHub 仓库的链接,例如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))的内容开头。如果出现类似
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。 -
要确认机器上已安装 Git LFS,请运行
git lfs --version。输出应类似于
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)。 -
如果尚未配置,请通过运行
git config --global user.name "NAME"和git config --global user.email EMAIL来设置 Git 的用户名和电子邮件地址,其中 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 仓库的链接,例如https://github.com/octocat/example-repository.git。 -
要将仓库推送到 GitHub,请运行
git push --mirror origin。如果仓库中包含任何超出 GitHub 文件大小限制的文件,推送可能会失败。请通过运行
git lfs import将大文件迁移到 Git LFS,然后重新尝试。