Git Credential Manager (GCM) can be configured using multiple different mechanisms. In order of preference, those mechanisms are:
- Environment variables
- Standard Git configuration files
- Repository/local configuration (
.git/config
) - User/global configuration (
$HOME/.gitconfig
or%HOME%\.gitconfig
) - Installation/system configuration (
etc/gitconfig
)
- Repository/local configuration (
- Enterprise system administrator defaults
- Compiled default values
This model largely matches what Git itself supports, namely environment variables that take precedence over Git configuration files.
The addition of the enterprise system administrator defaults enables those administrators to configure many GCM settings using familiar MDM tooling, rather than having to modify the Git installation configuration files.
We believe the user should always be at liberty to configure Git and GCM exactly as they wish. By prefering environment variables and Git configuration files over system admin values, these only act as default values that can always be overriden by the user in the usual ways.
Default setting values come from the Windows Registry, specifically the following keys:
32-bit Windows
HKEY_LOCAL_MACHINE\SOFTWARE\GitCredentialManager\Configuration
64-bit Windows
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GitCredentialManager\Configuration
GCM is a 32-bit executable on Windows. When running on a 64-bit installation of Windows registry access is transparently redirected to the
WOW6432Node
node.
By using the Windows Registry, system administrators can use Group Policy to easily set defaults for GCM's settings.
The names and possible values of all settings under this key are the same as those of the Git configuration settings.
The type of each registry key can be either REG_SZ
(string) or REG_DWORD
(integer).
Default configuration setting stores has not been implemented.