使用 Git LFS 在 Azure DevOps 中导入存储库

问题描述 投票:0回答:3

我正在尝试使用 DevOps 中的导入存储库功能将 Bitbucket 存储库迁移到 DevOps。其中一些存储库启用了 LFS,而且 DevOps 似乎没有导入 LFS 文件,因为当我克隆存储库时,出现了很多 LFS 错误。我尝试下载一个提交的 zip 文件,虽然所有文件的大小应该在 12GB 左右,但实际大小却刚刚超过 600MB。

有谁知道如何在DevOps中正确启用LFS导入存储库?

git bitbucket devops git-lfs
3个回答
4
投票

如果我的源存储库包含 Git LFS 对象怎么办?

Git import 不会导入 Git LFS 对象。

可以使用以下步骤移动 LFS 对象:

  • 使用导入存储库功能将存储库导入到 Azure 开发运营。这会将所有 Git 对象从源复制到 Azure DevOps(这还将导入 LFS 指针,它们是 Git 对象 但不是 LFS 文件)

要移动 LFS 文件(您将需要 Git.exe 和 LFS 客户端位于同一个框中并可以访问这两个源 存储库和目标存储库)

  • 将导入的存储库从 Azure DevOps 克隆到本地系统,克隆 可以工作,但在执行 LFS 文件检出时会失败
  • 将源存储库添加为远程(例如“源”)
  • 执行
    git lfs fetch source –all
    (这会将所有 LFS 文件从源转移到本地存储库)
  • 假设目标 VSTS 存储库是您的“目标”远程
  • 执行
    git lfs push target –all

https://learn.microsoft.com/en-us/azure/devops/repos/git/import-git-repository?view=azure-devops#what-if-my-source-repository-contains-git- lfs-对象


0
投票

我遇到了同样的问题,检查步骤2和4,基本上是微软的帖子没有指定的:

  1. 将导入的存储库从 Azure DevOps 克隆到本地系统,克隆可以工作,但在签出 LFS 文件时会失败

  2. 在文件夹项目中打开 git bash 或打开 cmd 并转到该文件夹,然后执行以下操作:

    git 远程添加源https://github.com/git/git(将该链接替换为您的存储库的链接)

  3. 执行 git lfs fetch source --all (这会将所有 LFS 文件从源转移到本地存储库)

  4. 执行 git远程添加目标AzureRepoLink

  5. 执行 git lfs push target --all (此步骤将把所有 LFS 文件推送到新的仓库)

  6. 再次将新的存储库克隆到新文件夹中,所有内容都应该在那里

我确信第 4 步可以做得更好,但它是这样工作的。

希望对您有帮助!


-2
投票

发现这个对我有帮助: 将 Azure DevOPs 存储库迁移到 BitBucket: https://amald-nav.medium.com/migrate-azure-devop-repository-to-bitbucket-dc4692935104

© www.soinside.com 2019 - 2024. All rights reserved.