在 Azure 中,如何克隆在不同服务器中使用 git-lfs 存储库的存储库?

时间:2020-12-22 19:18:37

标签: git azure azure-pipelines git-lfs

我有一个存储库,其中包含一些文件和一个目录,我在其中使用 git-lfs 将大文件存储在第一个存储库之外的另一个存储库中。当我想检索我的项目时,我克隆了第一个存储库,然后它会询问我第二个存储库的凭据,到目前为止一切顺利。

问题是,当我在 Azure 中尝试克隆我的存储库时,我没有在日志中看到要求第二个存储库凭据,我只看到

[5e71564651651654646516465164613211] LFS object not found: [404] LFS object not found  

在我的管道中,它检查了“结帐子模块”和“来自 LFS 的结帐文件”。当我取消选中这些时,我的管道会获取那些大文件的指针,而不是文件本身。

我认为 Azure 正在寻找 git-lfs 文件的第一个存储库,但我不确定。因此,我无法在 Azure 界面中找到放置第二个存储库凭据的位置。

我的问题是:当您使用 Azure 管道时,是否可以使用另一台服务器作为 git-lfs 存储库克隆我的存储库?如果是这样,如何?

2 个答案:

答案 0 :(得分:0)

你可以这样尝试:

  1. 不要在管道的获取源设置中选中“从 LFS 检出文件”。
  2. 在管道中添加一个步骤以执行 git lfs clone 命令以从 LFS 检出文件。您可以在命令中提供凭据。 例如:
  • HTTPS
git lfs clone https://<USERNAME>:<PAT>@<service_domain>/<repo_path>
  • SSH
git lfs clone git@ssh.<service_domain>:v3/<repo_path>

答案 1 :(得分:0)

我创建了一个新分支,在选中“checkout submodules”和“checkout files from LFS”标志的情况下克隆它,然后我在我的管道 Azure 中添加了一个 ssh 步骤来 git checkout 包含 git-lfs 文件的分支。

我相信 git-lfs 文件只有在您结帐时才能正确获取,而不是在您克隆存储库时才能正确获取。