为什么使用GIT的TFS无法在命令行中运行?

时间:2016-06-09 21:09:56

标签: git visual-studio tfs active-directory

我想将git命令行工具与Microsoft Team Foundation Server Git存储库一起使用。

但每次我想访问远程repos时,身份验证都会失败。当然我使用的是Active Directory(这是一个TFS服务器)。 git repo管理从Visual Studio完美运行。 (甚至推,同步,克隆等)。

Cloning into 'blabla'
fatal: Authentication failed for 'http://server:8080/tfs/BlaCollection/_git/blabla/'

我有意使用这些图案而且总是失败。

  • DOMAIN \用户名
  • 用户名@ domainforest

任何人都使用命令行工具连接到使用git服务器的TFS? 在我的公司,我们使用令牌登录Windows,可能是原因?

12 个答案:

答案 0 :(得分:19)

Windows凭据 - >通用凭证

然后在http:// ie。:

前添加一个带有“git:”的新项目

GIT中:http://Example.com

将domain \ user添加为用户, 和密码

答案 1 :(得分:11)

最后一位同事找到了解决方案,我将在此处发布:

使用命令:

git config --global credential.http://[tfs_server].integrated true

当然,将[tfs_server]替换为您自己的TFS服务器主机名。

当Credential Manager请求凭据时,请保留空白并按“确定”。 (我这样使用Kerberos进行身份验证)。

点击此处查看更多信息https://github.com/Microsoft/Git-Credential-Manager-for-Windows#q-i-thought-microsoft-was-maintaining-this-why-does-the-gcm-not-work-as-expected-with-tfs

答案 2 :(得分:4)

我做了两件事使它起作用。

  1. 将我的git更新到最新版本。
  2. 通过在Windows搜索中键入Windows凭据管理器来打开它,并在通用凭据中删除git凭据,如下所示 enter image description here

答案 3 :(得分:1)

  

无论您的公司如何使用Windows登录,您只需要在TFS中登录的帐户即可。您可以在Windows-控制面板-凭据管理器中找到帐户信息   
  
来自PatrickLu-MSFT

这就是为我做的。如上所述,我只是打开Windows凭据管理器并编辑了凭据,因为有些凭据被卡在我以前的密码中。

答案 4 :(得分:1)

对于我自己,我去了控制面板>凭据管理器> Windows凭据。

我试图只删除前面带有 git:的通用凭据,但是git命令仍然无法正常工作。

删除TFS服务器的Windows凭据后,然后git命令开始起作用。

答案 5 :(得分:0)

如果您在更改TFS密码后遇到此错误,

转到控制面板\用户帐户\凭据管理器

在Windows凭据下, 修改特定Internet或网络地址的密码。

答案 6 :(得分:0)

对我来说是在配置中设置了代理。 >git config --global --unset http.proxy使之起作用。运行VM Windows Server 20196和TFS2015使用Kerberos(Windows身份验证)。

答案 7 :(得分:0)

您最近是否更改过AD密码?

  • 如果是,(或不是,请笑),转到“控制面板”>“用户帐户”>“凭据管理器”>“ Windows凭据”。
  • 找到以git:http ...
  • 开头的条目
  • 删除该/那些条目,或将密码编辑为新的。单击向下箭头,您会看到有关该条目的信息,包括“删除/编辑”链接

答案 8 :(得分:0)

我的解决方案

打开控制面板>凭据管理器> Windows凭据。

在通用凭证下->添加通用凭证

内部网络地址:git:https://tfs.[google].com

管理员:

密码:

将Google替换为您公司的域名。输入您的EID或凭据以登录到TFS。

答案 9 :(得分:0)

  1. 从Windows控制面板中删除您的git凭据(正如每个人的建议一样)

  2. 如果cmd仍然不提示您重新输入git凭据。例如

致命:..身份验证失败。

您可以尝试卸载git-windows并选择“无”选项。为了避免使用凭据助手。

Screenshot page for None Option

答案 10 :(得分:0)

我之前在 SourceTree 中遇到过这个问题,并使用以下解决方案解决了

在 Windows 中

  • 打开控制面板 > 凭据管理器 > Windows 凭据。

或 只需在 Windows 搜索中搜索 Windows Credentials

在通用凭据下 -> 添加通用凭据

并填写这些数据

将 test 替换为您公司的域。输入您的 EID 或凭据以登录 TFS。

在 SourceTree 中

  • 从工具>选项> Git>禁用SSL证书验证

答案 11 :(得分:-1)

尝试直接使用身份验证--username--password参数,例如:

git tfs clone http://tfs:8080/tfs/DefaultCollection $/Project1 -u=Domain\username -p=xxx
  

-u, - username = VALUE代表TFS用户名
  -p, - password = VALUE代表TFS密码

无论您的公司如何使用登录窗口,您只需要登录TFS的帐户。您可以在Windows-Control Panel- Credential Manager

中找到帐户信息

Windows凭据管理器中的Visual Studio存储凭据,与Git Credential Winstore兼容。 如果您安装Git Credential Winstore,它应该使用Git存储库进行永久性身份验证,您也可以尝试使用此工具。