gitgit-credential-manager

Is Control Panel's Credential Manager same as git's credential helpers Credential Manager and Credential manager Core


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.


Solution

  • 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