我正在尝试使用 DevOps 中的导入存储库功能将 Bitbucket 存储库迁移到 DevOps。其中一些存储库启用了 LFS,而且 DevOps 似乎没有导入 LFS 文件,因为当我克隆存储库时,出现了很多 LFS 错误。我尝试下载一个提交的 zip 文件,虽然所有文件的大小应该在 12GB 左右,但实际大小却刚刚超过 600MB。
有谁知道如何在DevOps中正确启用LFS导入存储库?
如果我的源存储库包含 Git LFS 对象怎么办?
Git import 不会导入 Git LFS 对象。
可以使用以下步骤移动 LFS 对象:
- 使用导入存储库功能将存储库导入到 Azure 开发运营。这会将所有 Git 对象从源复制到 Azure DevOps(这还将导入 LFS 指针,它们是 Git 对象 但不是 LFS 文件)
要移动 LFS 文件(您将需要 Git.exe 和 LFS 客户端位于同一个框中并可以访问这两个源 存储库和目标存储库)
- 将导入的存储库从 Azure DevOps 克隆到本地系统,克隆 可以工作,但在执行 LFS 文件检出时会失败
- 将源存储库添加为远程(例如“源”)
- 执行
(这会将所有 LFS 文件从源转移到本地存储库)git lfs fetch source –all
- 假设目标 VSTS 存储库是您的“目标”远程
- 执行
git lfs push target –all
我遇到了同样的问题,检查步骤2和4,基本上是微软的帖子没有指定的:
将导入的存储库从 Azure DevOps 克隆到本地系统,克隆可以工作,但在签出 LFS 文件时会失败
在文件夹项目中打开 git bash 或打开 cmd 并转到该文件夹,然后执行以下操作:
git 远程添加源https://github.com/git/git(将该链接替换为您的存储库的链接)
执行 git lfs fetch source --all (这会将所有 LFS 文件从源转移到本地存储库)
执行 git远程添加目标AzureRepoLink
执行 git lfs push target --all (此步骤将把所有 LFS 文件推送到新的仓库)
再次将新的存储库克隆到新文件夹中,所有内容都应该在那里
我确信第 4 步可以做得更好,但它是这样工作的。
希望对您有帮助!
发现这个对我有帮助: 将 Azure DevOPs 存储库迁移到 BitBucket: https://amald-nav.medium.com/migrate-azure-devop-repository-to-bitbucket-dc4692935104