【发布时间】:2016-10-24 16:00:42
【问题描述】:
我们有一个 Team Foundation Server 2013 的内部托管实例,其中包含许多使用 GIT 源代码控制的项目。如果我使用 Visual Studio 2015,我可以毫无问题地克隆、推送、拉取等。但是,当我尝试使用 git 命令行与服务器交互时,git 无法与服务器通信。例如,当我尝试克隆存储库时(我 100% 肯定 url 有效),它会出错。这是输出
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 对该服务器进行身份验证?
【问题讨论】:
-
对我来说,这看起来不像是有效 git 存储库的 URL。通常我希望它以 .git 结尾。
-
@JackBracken,这个 git repo 存储在 TFS 服务器上。该 url 是直接从
[remote "origin"]部分下的 .git/config 文件中检索的,该部分是我从 Visual Studio 中克隆存储库时创建的。另外,我不认为 .git 扩展名对于 git 存储库是强制性的,它只是一个常见的约定。 (stackoverflow.com/questions/11068576/…) -
你使用哪个版本的 Git?您是否输入了 TFS 的用户名和密码?
-
我使用的是 git 版本 2.10.1.windows.1 64 位,它从不提示我输入用户名和密码