Git-credential-manager-for-windows: GCM not working

Created on 16 Nov 2015  路  15Comments  路  Source: microsoft/Git-Credential-Manager-for-Windows

I installed GCM via the installer. My expectation is that it would work invisibly, so that I would have to enter my git credentials the next time I tried communicating with the remote repository, but that GCM would save them so that I would not have to do so again.

Instead, git continues to prompt me for my credentials every time, just as it did before.

My repository is checked out via HTTPS, not SSH, and GCM appears to have installed correctly, but nothing appears in my Windows credentials. Is there an additional step I am missing? The README doesn't contain any additional instructions.

ps
prog

All 15 comments

If you look in your OS Credential Manager (Start > Credential Manager > Windows Credentials) do you see anything entered there?

If not, the credential manager may not be getting invoked for some reason.

Can you check your git config --list values and check for a credential.helper = manager line?

If it does not exist, something failed during installation and your git-config failed to update.

i got same problem, my git config contains line credential.helper = manager and in OS Credential Manager i have git:https://github.com line:
image

Can you supply the output from a where git command?

if you're using Powershell, use cmd /c where git.

Output of where git command is:

C:\Program Files\Git\cmd\git.exe
C:\Program Files\Git\mingw64\bin\git.exe
C:\Users\jerkovicl\OneDrive\Documents\Tools\cmder

Ah-ha - multiple instances of the binary on your %PATH%. It is what I assumed.

The issues is basically that the installer is not updating one of the git-config files that is being used by the instance of git you're invoking when you say git ... on the command line. Which means, your git.exe doesn't know about the GCM.

If the GCM were failing to run, Git would tell you about that. Seems to me that it isn't being invoked.

Can you set set git_trace=1 on your command line and try to fetch again? You'll be able to see if git.exe is actually attempting to use the git-credential-manager via the spew.

Output after doing git push:
image

The line "'git-credential-manager' is not a git command", means Git cannot find the CGM on your $path. Git adds several location to the $path at run time, but none of them contain the GCM. Sounds a lot to me like something (probably Git 2.x setup.exe) removed the GCM.

We have a new build being "blessed" now. Once that's posted it should resolve your problem by placing the GCM in your %USERPROFILE%/bin directory (which Git maps in $path as well).

@whoisj Gotcha thx for clarification and help

I have had a related issue (solved)

  • A git operation on remote repo started, e.g. 'git pull'
  • GitHub credentials window pops up, credentials entered, OK pressed, the window disappears.
  • The git operation hangs for quite a while (20 seconds?), then it writes:
    fatal: TaskCanceledException encountered. A task was canceled.
  • then it suggests to enter user name and password in command prompt, and all goes well.
  • next time a git operation runs over the same remote repo, the credentials window does not pop in, but the operation still waits 20 seconds, and then again offers to enter credentials in the command line.
    The above was quite frustrating.
  • deleting credentials from Windows Credentials applet resets the problem, i.e. next time the GitHub cred window pops up again.

If I run it with 'git_trace=1' set, it all looked nice until TaskCanceledException , i.e. it actually finds and engages the credentials manager.

It turned out that it was a proxy issue, and the problem was solved by setting up http.proxy in global git config:
git config --global http.proxy http://<proxy_host>:<proxy_port>
(in my case, git itself worked fine without it because environment variable HTTP_PROXY was set, which apparently is not respected by Git Windows Cred.Manager)

Hope the above will helps someone. The 'TaskCanceledException' is quite misleading, there should be more diagnostic info.

@new-mikha thanks for that. Would you mind opening a new bug related to the missing HTTP_PROXY support?

@whoisj yup good idea, thanks. Just created issues #506 and #507.

cheers,

Running into similar problems here. GCM has stopped working for me so I installed the latest version of Git (2.18.0) and GCM 1.16.2. I even went as far as deleting my previously cached credentials in my OS's credential manager when trying to debug this myself.

Running git config -l yields in
credential.helper=manager

However, I am still running into
git: 'credential-manager' is not a git command. See 'git --help'.

Currently, Window's Credential Manager does not have anything saved for GitHub.

@MandyJCho can you

  1. Open a console.
  2. Run SET GIT_TRACE=1
  3. Run SET GCM_TRACE=1
  4. Run git version
  5. Run git credential-manager version
  6. Reproduce your issue

The copy-paste the console session into a text file, and share the output? Thanks.

debug

Everything after the last trace deals with pushing my changes to GitHub.

OK that's bonkers. It appears that Git cannot find the git-credential-manager.exe for some reason.

Can you run where git and see what returns? Also, %PATH% will help us understand the results of where. Basically, I'm wondering if the Git you're using is not the Git you think you're using.

Was this page helpful?
0 / 5 - 0 ratings