我们有一个Team Foundation Server 2013的内部托管实例,其中包含许多使用GIT源代码控制的项目。如果我使用Visual Studio 2015,我可以毫无问题地克隆,推送,拉动等。但是,当我尝试使用git命令行与服务器交互时,git无法与服务器通信。例如,当我尝试克隆存储库时(我100%肯定该网址是有效的),它会出错。这是输出
C:\Projects\>git clone http://tfs_server_name:8080/tfs/CollectionName/_git/SomeProject
Cloning into 'SomeProject'...
fatal: repository 'http://tfs_server_name:8080/tfs/CollectionName/_git/SomeProject/' not found
我们的TFS实例配置为使用集成的Windows身份验证,因此我按照本文中的说明进行操作:https://github.com/Microsoft/Git-Credential-Manager-for-Windows/blob/master/Docs/Faq.md#q-i-thought-microsoft-was-maintaining-this-why-does-the-gcm-not-work-as-expected-with-tfs
我按照指示从该文章运行命令(其中tfs_server_name是我们服务器的机器名,NameOfOurDomain.lcl是我们的域名):
git config --global credential.tfs_server_name.NameOfOurDomain.lcl.integrated true
这也没有解决问题。我跑了命令,试图克隆,没有。我重新启动,试图克隆,没有。
我还能做些什么来让git对该服务器进行身份验证?
答案 0 :(得分:3)
您是否设置了任何代理设置?检查配置文件中.gitconfig文件中http.proxy和https.proxy的全局git设置。另外,请确认您没有设置指向代理服务器的任何环境变量(HTTP_PROXY和HTTPS_PROXY)。
大多数代理服务器不允许内部访问,因此,如果您将git配置为指向代理,则可能代理服务器实际上无法看到TFS服务器,因此git无法看到库中。
答案 1 :(得分:0)
我刚尝试使用Git命令行+ TFS 2013.5,没有发生任何问题。
答案 2 :(得分:0)
您提供的网址不正确。
您的网址:
http://tfs_server_name:8080/tfs/TeamProjectName/_git/SomeProject/
更正网址:
http://tfs_server_name:8080/tfs/CollectionName/_git/ProjectName/
由于您提到它适用于VS2015,因此您可以检查" Visual Studio \ Team Explorer \ Settings \ Repository Settings \ Remotes"中的URL。
答案 3 :(得分:-1)
这有点令人费解,但它可能有助于事业。
在命令提示符中:
runas /profile /user:your_domain\your-user-id "cmd.exe"
这将打开一个新的命令提示符窗口。在新窗口中......
cd c:\projects
git clone http://tfs_server_name:8080/tfs/TeamProjectName/_git/SomeProject