【问题标题】:How to use git lfs with Visual Studio Team Services hosted build agents如何将 git lfs 与 Visual Studio Team Services 托管的构建代理一起使用
【发布时间】:2016-03-04 20:52:51
【问题描述】:

我使用 git lfs 来存储我的 git repo 的大文件。然后我尝试使用托管代理构建这个 repo。我的构建非常简单。它有一个任务:执行 PowerShell。在调用的脚本中,我要做的第一件事是获取我的 lfs 依赖项。因此,我的脚本中有以下内容:

& git lfs fetch

很遗憾,我的构建失败并出现以下错误:

2016-03-04T19:49:05.7021988Z ##[error]git: 'lfs' is not a git command. See 'git --help'.
2016-03-04T19:49:05.7031986Z ##[error]Did you mean this?
2016-03-04T19:49:05.7041987Z ##[error]  flow

由于我无法在托管代理上安装任何东西,我应该如何使用 git lfs?

编辑 在这个问题中,我不是在谈论 here 描述的 git lfs 身份验证问题。我严格来说是打电话给git lfs的问题。

一旦您能够调用git lfs,请查看此answer 以解决身份验证问题。

【问题讨论】:

  • @DanielMann 可能的重复讨论了 oauth 令牌的问题。它不会谈论命令行中不可用的 abotu git lfs。
  • 现在支持 Git LFS。

标签: azure-devops azure-pipelines git-lfs


【解决方案1】:

现在,托管构建控制器默认支持 Git LFS。但是您确实需要在获取源步骤中启用它。

【讨论】:

    【解决方案2】:

    您收到此错误消息是因为默认情况下托管构建代理上未安装 git-lfs。

    而且由于您使用的是托管构建代理,因此通过 Chocolatey 在其上安装 git-lfs 会有点麻烦,因为您没有管理员权限。另一种方法是直接下载the binary files for git-lfs 并将其上传到源代码管理中。然后,您可以在脚本中使用绝对路径调用 git-tfs.exe。

    【讨论】:

      【解决方案3】:

      以下是有关 Eddie 提供的解决方案的更多详细信息。 git lfs 不是内置命令。它是一个 git custom command

      当你调用git lfs 时,git.exe 不知道lfs 命令。因此它在 PATH 环境变量中查找并搜索名为 git-lfs.exe 的程序。一旦找到,它就会使用提供的参数调用该程序。

      所以调用git-lfs.exe pull就相当于调用git.exe lfs pull

      因此建议的解决方案是下载 git-lfs.exe,将其添加到您的 git repo(它显然不应该被 LFS 跟踪),然后调用 git-lfs.exe。

      也可以将包含 git-lfs.exe 的文件夹添加到您的路径环境变量中。这样就可以像平常一样使用git.exe lfs pull 之类的命令了。

      【讨论】:

        【解决方案4】:

        如果您被允许在构建期间安装软件并可以访问 Internet,则您可以在 git-lfs 操作之前在 cmd / PowerShell 任务中使用 Chocolatey package 安装 git-lfs。

        【讨论】:

          猜你喜欢
          • 2014-11-05
          • 1970-01-01
          • 1970-01-01
          • 2016-11-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-04
          • 1970-01-01
          相关资源
          最近更新 更多