如何将 git lfs 与 Visual Studio Team Services 托管构建代理一起使用
How to use git lfs with Visual Studio Team Services hosted build agents
我使用 git lfs 来存储我的 git 存储库的大文件。然后我尝试使用托管代理构建这个 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?
编辑
在本期中,我不是在谈论 git 描述的 lfs 身份验证问题。我严格说的是调用git lfs
.
的问题
一旦您可以调用 git lfs
,请查看此 以解决身份验证问题。
如果您被允许在构建期间安装软件并访问互联网,您可以在 [=13] 之前在 cmd / PowerShell 任务中使用 Chocolatey package 安装 git-lfs =]-lfs操作。
您收到此错误消息是因为 git-lfs 默认情况下未安装在 Hosted Build Agent 上。
并且由于您使用的是 Hosted Build Agent,因此您没有管理员权限,因此通过 Chocolatey 在其上安装 git-lfs 会有点麻烦。另一种方法是直接下载 the binary files for git-lfs 并将其上传到源代码管理中。然后您可以在脚本中使用绝对路径调用 git-tfs.exe。
以下是有关 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 存储库(显然 LFS 不应跟踪它),然后调用 git-lfs.exe.
也可以将包含 git-lfs.exe 的文件夹添加到您的路径环境变量中。这使得您可以像往常一样使用 git.exe lfs pull
这样的命令。
Git Hosted Build Controller 现在默认支持 LFS。但是您确实需要在获取源代码步骤中启用它。
我使用 git lfs 来存储我的 git 存储库的大文件。然后我尝试使用托管代理构建这个 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?
编辑
在本期中,我不是在谈论 git 描述的 git lfs
.
一旦您可以调用 git lfs
,请查看此
如果您被允许在构建期间安装软件并访问互联网,您可以在 [=13] 之前在 cmd / PowerShell 任务中使用 Chocolatey package 安装 git-lfs =]-lfs操作。
您收到此错误消息是因为 git-lfs 默认情况下未安装在 Hosted Build Agent 上。
并且由于您使用的是 Hosted Build Agent,因此您没有管理员权限,因此通过 Chocolatey 在其上安装 git-lfs 会有点麻烦。另一种方法是直接下载 the binary files for git-lfs 并将其上传到源代码管理中。然后您可以在脚本中使用绝对路径调用 git-tfs.exe。
以下是有关 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 存储库(显然 LFS 不应跟踪它),然后调用 git-lfs.exe.
也可以将包含 git-lfs.exe 的文件夹添加到您的路径环境变量中。这使得您可以像往常一样使用 git.exe lfs pull
这样的命令。
Git Hosted Build Controller 现在默认支持 LFS。但是您确实需要在获取源代码步骤中启用它。