2016-03-04 54 views
3

我使用git LFS來存儲我的git回購的大文件。然後我嘗試用託管代理構建此回購。我的構建非常簡單。它有一項任務:執行PowerShell。在被調用的腳本中,我想要做的第一件事是獲取我的lfs依賴關係。因此,我有我的腳本如下:如何使用git LFS與Visual Studio Team Services的託管生成代理

& 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解決認證問題。

+0

[在VSTF構建中檢出git-lfs文件]可能重複(http://stackoverflow.com/questions/34083386/check-out-git-lfs-files-on-vstf-build) –

+0

@DanielMann可能與oauth令牌有關的問題重複討論。它不會說abotu git lfs在命令行中不可用。 – mabead

+0

現在支持Git LFS。 – jessehouwing

回答

2

因爲GIT-LFS默認情況下不上承載生成代理安裝您收到此錯誤信息。

而且,由於使用的是託管生成代理,它會通過的巧克力在其上安裝的git-LFS,你沒有管理員權限的小麻煩。另一種方法是直接下載the binary files for git-lfs並將其上傳到源代碼管理。然後你可以用腳本中的絕對路徑調用git-tfs.exe。

0

如果允許您在構建過程中安裝軟件並訪問互聯網,則可以在git-lfs操作之前,使用Chocolatey package在cmd/PowerShell任務中安裝git-lfs。

1

以下是有關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。

也可以添加一個包含混帳lfs.exe到PATH環境變量的文件夾。這可以像平常一樣使用像git.exe lfs pull這樣的命令。

1

Git的LFS現在默認的託管生成控制器的支持。

相關問題