|
| 1 | +# Enterprise configuration defaults |
| 2 | + |
| 3 | +Git Credential Manager Core (GCM Core) can be configured using multiple |
| 4 | +different mechanisms. In order of preference, those mechanisms are: |
| 5 | + |
| 6 | +1. [Environment variables](environment.md) |
| 7 | +2. [Standard Git configuration files](configuration.md) |
| 8 | + 1. Repository/local configuration (`.git/config`) |
| 9 | + 2. User/global configuration (`$HOME/.gitconfig` or `%HOME%\.gitconfig`) |
| 10 | + 3. Installation/system configuration (`etc/gitconfig`) |
| 11 | +3. Enterprise system administrator defaults |
| 12 | +4. Compiled default values |
| 13 | + |
| 14 | +This model largely matches what Git itself supports, namely environment |
| 15 | +variables that take precedence over Git configuration files. |
| 16 | + |
| 17 | +The addition of the enterprise system administrator defaults enables those |
| 18 | +administrators to configure many GCM settings using familiar MDM tooling, rather |
| 19 | +than having to modify the Git installation configuration files. |
| 20 | + |
| 21 | +### User Freedom |
| 22 | + |
| 23 | +We believe the user should _always_ be at liberty to configure |
| 24 | +Git and GCM exactly as they wish. By prefering environment variables and Git |
| 25 | +configuration files over system admin values, these only act as _default values_ |
| 26 | +that can always be overriden by the user in the usual ways. |
| 27 | + |
| 28 | +## Windows |
| 29 | + |
| 30 | +Default setting values come from the Windows Registry, specifically the |
| 31 | +following keys: |
| 32 | + |
| 33 | +**32-bit Windows** |
| 34 | + |
| 35 | +```text |
| 36 | +HKEY_LOCAL_MACHINE\SOFTWARE\GitCredentialManager\Configuration |
| 37 | +``` |
| 38 | + |
| 39 | +**64-bit Windows** |
| 40 | + |
| 41 | +```text |
| 42 | +HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GitCredentialManager\Configuration |
| 43 | +``` |
| 44 | + |
| 45 | +> GCM Core is a 32-bit executable on Windows. When running on a 64-bit |
| 46 | +installation of Windows registry access is transparently redirected to the |
| 47 | +`WOW6432Node` node. |
| 48 | + |
| 49 | +By using the Windows Registry, system administrators can use Group Policy to |
| 50 | +easily set defaults for GCM Core's settings. |
| 51 | + |
| 52 | +The names and possible values of all settings under this key are the same as |
| 53 | +those of the [Git configuration](configuration.md) settings. |
| 54 | + |
| 55 | +The type of each registry key can be either `REG_SZ` (string) or `REG_DWORD` |
| 56 | +(integer). |
| 57 | + |
| 58 | + |
| 59 | +## macOS/Linux |
| 60 | + |
| 61 | +Default configuration setting stores has not been implemented. |
0 commit comments