Why TFS with GIT is not working from command line?

2020-05-25 03:34发布

I want to use the git command line tools with the Microsoft Team Foundation Server Git repositories.

But every time I want to access to remote repos the authentication fails. And of course I am using Active Directory (this is a TFS server). The git repo management works perfectly from Visual Studio. (even push, sync, clone, etc).

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

I have intented using this patters and always fail.

  • DOMAIN\username
  • username@domainforest

Anyone has get connected using command line tools to a TFS with git server? In my company we use tokens to log on Windows, may be the reason?

10条回答
在下西门庆
2楼-- · 2020-05-25 03:57

I did two things to make it work. Try below.

  1. Update your git to the latest version.
  2. Open Windows Credential Manager by typing the same in Windows Search and remove the git credentials in the generic credentials as shown below enter image description here
查看更多
唯我独甜
3楼-- · 2020-05-25 04:05

No matter, how your company use to log on windows, you just need the account which login in the TFS. You can find the account info in Windows-Control Panel- Credential Manager

by PatrickLu-MSFT

This is what did it for me. I just opened the Windows Credential Manager as stated above and edited the credentials because some how it was stuck to my previous password.

查看更多
手持菜刀,她持情操
4楼-- · 2020-05-25 04:11

For myself, I went to Control Panel > Credential Manager > Windows Credentials.

I tried to delete only the Generic Credentials with git: in front of them, but the git commands still didn't work.

After I deleted the Windows Credentials for the TFS server, then the git commands started to work.

查看更多
看我几分像从前
5楼-- · 2020-05-25 04:12

Did you change your AD password recently ?

  • If so, (or not lol), Go to Control Panel > User Accounts > Credential Manager > Windows Credentials.
  • Locate entries starting with git:http...
  • Either Remove that/those entry, or edit the password to the new one. Click on the Down Arrow and you see info about that entry, including the Remove/Edit links
查看更多
对你真心纯属浪费
6楼-- · 2020-05-25 04:14

Finally a collegue hit the solution and I will post it here:

Use the command:

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

Of course, replace [tfs_server] with your own TFS server host name.

When Credential Manager asks for credentials just leave blanks and press OK. (I this way authentication will be performed using Kerberos).

Check here for more information 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

查看更多
SAY GOODBYE
7楼-- · 2020-05-25 04:17

Windows Credentials -> Generic Credentials

Then add a new item with "git:" in front of the http:// i.e.:

git:http://Example.com

add domain\user as user, and password

查看更多
登录 后发表回答