关于从 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 Large File Storage (Git LFS)(请参阅“安装 Git Large File Storage”)
-
在 GitHub.com 上创建一个新的仓库。为了避免错误,请不要使用 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 Large File Storage (Git LFS)(请参阅“安装 Git Large File Storage”)
-
在 GitHub.com 上创建一个新的仓库。为了避免错误,请不要使用 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,然后重试。