6

I'm running the latest Git For Windows 2.29.2 and for me credential.helper is set to manager-core by default. I did confirm that running git config --system list.

My Git installation shows it has two credential helpers

  1. Git Credential Manager for Windows (earlier helper which is deprecated in newer version of Git) and,
  2. Git Credential Manager Core (default helper in newer versions of Git)

Running version command for both in git terminal confirm their presence :

$ git credential-manager version
Git Credential Manager for Windows version 1.20.0
$ git credential-manager-core --version
Git Credential Manager version 2.0.280-beta+1f4c6db90f (Windows, .NET Framework 4.0.30319.42000)

It appears now that there are basically three ways that git might use to manage credentials:

(a). Windows Credential Manager (the one inside Control Panel),

(b). Git Credential Manager for Windows, and

(c). Git Crednetial Manager Core.

If my understanding is correct then as per this SO post the credential.helper=manager is same as the Control Panel's Windows Crendential Manager.

Does that mean the credential.helper=manager-core is also same as the Control Panel's credential manager.

I am a bit confused here as to which is what. Are all three same or they are different from each other and store the credentials separately.

Asif Kamran Malick
  • 2,409
  • 3
  • 25
  • 47

2 Answers2

3

A credential helper is an executable responsible for storing and retrieving credentials for git.

The windows credential manager is a place for storing credentials in Windows.

Both manager and manager-core credential helpers use the windows credentials manager to store credentials (they are basically the same helper, but manager uses dotnet framework and manager-core uses dotnet core).

https://github.com/microsoft/Git-Credential-Manager-Core

https://github.com/microsoft/Git-Credential-Manager-for-Windows

https://git-scm.com/docs/gitcredentials

rbennett485
  • 1,907
  • 15
  • 24
  • 1
    Thanks for explaining. Really appreciate it. I did see the github repos and multiple sources, but no where did they mention that they are ultimately storing the credentials in the Control Panel's Credential Manager. However, I did notice one behavior and that is , if we remove the credentails from Control Panel, the `git credential approve` populates back the credentials in Control Panel's Credential Manager. – Asif Kamran Malick Mar 28 '21 at 15:54
0

git credential helper is just a utility that comes with the git standalone installation.

Windows credential manager is where your credentials (user name & passcode) for git repos (accounts) and everything else like Whatsapp, Microsoft account and other accounts are managed and stored.

when you access a remote (remote git repository on server using HTTPS links) git credential helper runs automatically, takes your credentials and create a new entry for them on windows credential manager so you do not have to enter them every time you access your remote account repos.

  • No, credential helpers are an interface/protocol supported by Git. Out of the box you get two helpers, "cache" (in-memory) and "store" (on-disk, unencrypted), and you can install helpers that support said interface/protocol. When you install Git for Windows 2.28 or up, it comes with "Git Credential Manager for Windows" which gets your credentials from the Windows Credential Manager. – CodeCaster Sep 28 '22 at 15:03