使用Git LFS和TFS 2015 Update 2 On Premise
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Git LFS和TFS 2015 Update 2 On Premise相关的知识,希望对你有一定的参考价值。
TFS 2015 Update 2带来了Git LFS支持,但是当我尝试将它与Brian Keller VS2015ALM虚拟机(升级到Update 2)一起使用时,我遇到了以下异常:
git-lfs/1.2.0 (GitHub; windows amd64; go 1.6.1; git 386c5d8)
git version 2.8.1.windows.1
$ git-lfs.exe smudge -- Image1.jpg
Error downloading object: Image1.jpg (968bda1e0a17e295e265311f93bc4e631e171
d776d51c6d7a43b52185c82631a)
Your user name must be of the form DOMAIN\user. It is currently brian%!(EXTRA st
ring=string)
goroutine 1 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/lfs/errors.go:566 +0x87
github.com/github/git-lfs/commands.logPanicToWriter(0x1a42c0, 0xc082020020, 0x1b
54a0, 0xc0823ae1a0)
C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:195
+0xf87
github.com/github/git-lfs/commands.logPanic(0x1b54a0, 0xc0823ae1a0, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:159
+0x419
github.com/github/git-lfs/commands.handlePanic(0x1b54a0, 0xc0823ae1a0, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:134
+0x55
github.com/github/git-lfs/commands.LoggedError(0x1b54a0, 0xc0823ae1a0, 0xa25980,
0x21, 0xc082029c88, 0x2, 0x2)
C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:84
+0x89
github.com/github/git-lfs/commands.smudgeCommand(0xc52680, 0xc0820f81e0, 0x1, 0x
2)
C:/Users/techn/go/src/github.com/github/git-lfs/commands/command_smudge.
go:79 +0xdd2
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).execute
(0xc52680, 0xc0820f8040, 0x2, 0x2, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/
spf13/cobra/command.go:477 +0x3fb
github.com/github/git-lfs/vendor/_nuts/github.com/spf13/cobra.(*Command).Execute
(0xc536c0, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/vendor/_nuts/github.com/
spf13/cobra/command.go:551 +0x593
github.com/github/git-lfs/commands.Run()
C:/Users/techn/go/src/github.com/github/git-lfs/commands/commands.go:99
+0x2a
main.main()
C:/Users/techn/go/src/github.com/github/git-lfs/git-lfs.go:34 +0x135
ENV:
LocalWorkingDir=C:\Users\Brian\Source\Repos\DemoGitLfs
LocalGitDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git
LocalGitStorageDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git
LocalMediaDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git\lfs\objects
LocalReferenceDir=
TempDir=C:\Users\Brian\Source\Repos\DemoGitLfs\.git\lfs\tmp
ConcurrentTransfers=1
BatchTransfer=true
GIT_DIR=.git
GIT_LFS_PATH=C:\Program Files\Git LFS
GIT_PREFIX=
当我尝试使用git.exe推送并在第一次使用VS2015U2后工作时,这会附加。但是当我尝试使用git.exe或VS2015U2重新克隆我的回购(在结帐时失败)时,我收到此错误。顺便说一句,VS在这种情况下完全崩溃。我尝试使用VSTS进行相同的操作,并且没有发生错误(使用git.exe,GitExtensions或VS2015U2)。所以它似乎是如何提供凭据但如何解决它的问题?
回购步骤:
- 在TFS Web门户上创建一个repo
- 用VS或git克隆它
- 执行“git lfs install”
- 执行“git lfs filter track”* .jpg“”
- 将图像添加到工作区
- 承诺
- 使用git.exe执行“git push origin master”=>失败
- 执行“git push origin master”=>与VS一起使用
- 添加第二个图像并提交
- 推送现在可以使用git.exe
- 删除本地存储库
- 使用git.exe或VS在结账时克隆回购=>失败
我尝试使用“clone -n”来避免立即结账,然后执行“git lfs install”和“git checkout master”,发生了同样的异常:您的用户名必须是DOMAIN \ user形式。目前是brian%!(EXTRA st ring = string)
Git Credential Manager for Windows帮助我实现它。
只需使用GCMW并在第一个凭据提示符下(凭据存储在Windows凭据管理器中):
- 用户名:“vsalm \ brian”
- 密码:“P2ssw0rd”
它有效。
- 没有GCMW它不起作用。
- 它适用于Git 2.8安装提供的GCMW,手动安装1.2.2和1.3(在gitconfig中添加“[credential] helper = manager”)
注意:使用VS2015U2克隆不起作用,在U3中计划修复。更多信息:https://connect.microsoft.com/VisualStudio/feedback/details/2657886/cant-use-git-lfs-with-tfs-2015-update-2-onpremise
根据错误异常,您的TFS服务器使用“NTLM”进行身份验证。使用此身份验证,您必须输入用户名:DOMAIN user和密码:pass。因此,请将您的git凭据更新为此格式,然后重试。查看此链接了解详细信息:NTLM Authentication With Git-Lfs。
如果LFS服务器返回“Www-Authenticate:NTLM”标头,我们将lfs。endpoint .access设置为ntlm并重新提交http请求。后续请求将通过ntlm auth流程。
我们将NTLM凭证存储在凭证帮助程序中。当系统提示用户输入凭据时,他们必须使用用户名:DOMAIN user和密码:pass
ntlm协议将由ntlm.go类处理,该类隐藏了Init Handshake,Authentication和Challenge的实现。这允许miminal更改现有的client.go类。
以上是关于使用Git LFS和TFS 2015 Update 2 On Premise的主要内容,如果未能解决你的问题,请参考以下文章
SharePoint 中的 Visual Studio Team Foundation 服务器 Web 部件无法连接到 TFS 2015 Update 3