|
| 1 | +# Git Credential Manager Rename |
| 2 | + |
| 3 | +In November 2021, _"Git Credential Manager Core"_ was [renamed][rename-pr] to |
| 4 | +simply _"Git Credential Manager"_, dropping the "Core" moniker. We announced the |
| 5 | +new name in a [GitHub blog post][rename-blog], along with the new home for the |
| 6 | +project in it's own [organization][gcm-org]. |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | +At the time, the actual exectuable name was not updated and continued to be |
| 11 | +`git-credential-manager-core`. As of [VERSION][rename-ver], the executable has |
| 12 | +been renamed to `git-credential-manager`, matching the new project name. |
| 13 | + |
| 14 | +## Rename transition |
| 15 | + |
| 16 | +If you continue to use the `git-credential-manager-core` executable name you may |
| 17 | +see warning messages like below: |
| 18 | + |
| 19 | +```console |
| 20 | +warning: git-credential-manager-core was renamed to git-credential-manager |
| 21 | +warning: see https://aka.ms/gcm/rename for more information |
| 22 | +``` |
| 23 | + |
| 24 | +Since the executable was renamed in VERSION, GCM has also included symlinks |
| 25 | +using the old name in order to ensure no one's setups would immediately break. |
| 26 | + |
| 27 | +These links will remain until _two_ major Git versions are released after GCM |
| 28 | +VERSION, _**at which point the symlinks will no longer be included**_. |
| 29 | + |
| 30 | +It is recommended to update your Git configuration to use the new executable |
| 31 | +name as soon as possible to prevent any issues in the future. |
| 32 | + |
| 33 | +## How to update |
| 34 | + |
| 35 | +### Git for Windows |
| 36 | + |
| 37 | +If you are using GCM bundled with Git for Windows (recommended), you should make |
| 38 | +sure you have updated to at least version WINGIT_VERSION. |
| 39 | + |
| 40 | +[Download the latest Git for Windows ⬇️][git-windows] |
| 41 | + |
| 42 | +### Windows standalone installer |
| 43 | + |
| 44 | +If you are using GCM installed either by the user (`gcmuser-*.exe`) or system |
| 45 | +(`gcm-*.exe`) installers on Windows, you should uninstall the current version |
| 46 | +first and then download and install the [latest version][gcm-latest]. |
| 47 | + |
| 48 | +Uninstall instructions for your Windows version can be found |
| 49 | +[here][win-standalone-instr]. |
| 50 | + |
| 51 | +### macOS Homebrew |
| 52 | + |
| 53 | +> **Note:** As of October 2022 the old `git-credential-manager-core` cask name |
| 54 | +> is still used. In the future we plan to rename the package to drop the `-core` |
| 55 | +> suffix. |
| 56 | +
|
| 57 | +If you use Homebrew to install GCM on macOS you should use `brew upgrade` to |
| 58 | +install the latest version. |
| 59 | + |
| 60 | +```sh |
| 61 | +brew upgrade git-credential-manager-core |
| 62 | +``` |
| 63 | + |
| 64 | +### macOS package |
| 65 | + |
| 66 | +If you use the .pkg file to install GCM on macOS, you should first uninstall the |
| 67 | +current version, and then install the [latest package][gcm-latest]. |
| 68 | + |
| 69 | +```sh |
| 70 | +sudo /usr/local/share/gcm-core/uninstall.sh |
| 71 | +installer -pkg <path-to-new-package> -target / |
| 72 | +``` |
| 73 | + |
| 74 | +### Linux Debian package |
| 75 | + |
| 76 | +If you use the .deb Debian package to install GCM on Linux, you should first |
| 77 | +`unconfigure` the current version, uninstall the package, and then install and |
| 78 | +`configure` the [latest version][gcm-latest]. |
| 79 | + |
| 80 | +```sh |
| 81 | +git-credential-manager-core unconfigure |
| 82 | +sudo dpkg -r gcmcore |
| 83 | +sudo dpkg -i <path-to-new-package> |
| 84 | +git-credential-manager configure |
| 85 | +``` |
| 86 | + |
| 87 | +### Linux tarball |
| 88 | + |
| 89 | +If you are using the pre-built GCM binaries on Linux from our tarball, you |
| 90 | +should first `unconfigure` the current version before extracting the [latest |
| 91 | +binaries][gcm-latest]. |
| 92 | + |
| 93 | +```sh |
| 94 | +git-credential-manager-core unconfigure |
| 95 | +rm $(command -v git-credential-manager-core) |
| 96 | +tar -xvf <path-to-new-tarball> -C /usr/local/bin |
| 97 | +git-credential-manager configure |
| 98 | +``` |
| 99 | + |
| 100 | +### Troubleshooting |
| 101 | + |
| 102 | +If after updating your GCM installations if you are still seeing the |
| 103 | +[warning][warnings] messages you can try manually editing your Git configuration |
| 104 | +to point to the correct GCM executable name. |
| 105 | + |
| 106 | +Start by listing all Git configuration for `credential.helper`, including which |
| 107 | +files the particular config entries are located in, using the following command: |
| 108 | + |
| 109 | +```sh |
| 110 | +git config --show-origin --get-all credential.helper |
| 111 | +``` |
| 112 | + |
| 113 | +On Mac or Linux you should see something like this: |
| 114 | + |
| 115 | +<!-- markdownlint-disable MD010 --> |
| 116 | +```shell-session |
| 117 | +$ git config --show-origin --get-all credential.helper |
| 118 | +file:/opt/homebrew/etc/gitconfig credential.helper=osxkeychain |
| 119 | +file:/Users/jdoe/.gitconfig credential.helper= |
| 120 | +file:/Users/jdoe/.gitconfig credential.helper=/usr/local/share/gcm-core/git-credential-manager-core |
| 121 | +``` |
| 122 | + |
| 123 | +On Windows you should see something like this: |
| 124 | + |
| 125 | +```shell-session |
| 126 | +> git config --show-origin --get-all credential.helper |
| 127 | +file:C:/Program Files/Git/etc/gitconfig credential.helper=manager-core |
| 128 | +``` |
| 129 | +<!-- markdownlint-enable MD010 --> |
| 130 | + |
| 131 | +Look out for entries that include `git-credential-manager-core` or |
| 132 | +`manager-core`; these should be replaced and updated to `git-credential-manager` |
| 133 | +or `manager` respectively. |
| 134 | + |
| 135 | +> **Note:** When updating the Git configuration file in your home directory |
| 136 | +> (`$HOME/.gitconfig` or `%USERPROFILE\.gitconfig%`) you should ensure there are |
| 137 | +> is an additional blank entry for `credential.helper` before the GCM entry. |
| 138 | +> |
| 139 | +> **Mac/Linux** |
| 140 | +> |
| 141 | +> ```ini |
| 142 | +> [credential] |
| 143 | +> helper = |
| 144 | +> helper = /usr/local/share/gcm-core/git-credential-manager |
| 145 | +> ``` |
| 146 | +> |
| 147 | +> **Windows** |
| 148 | +> |
| 149 | +> ```ini |
| 150 | +> [credential] |
| 151 | +> helper = |
| 152 | +> helper = C:/Program\\ Files\\ \\(x86\\)/Git\\ Credential\\ Manager/git-credential-manager.exe |
| 153 | +> ``` |
| 154 | +> |
| 155 | +> The blank entry is important as it makes sure GCM is the only credential |
| 156 | +> helper that is configured, and overrides any helpers configured at the system/ |
| 157 | +> machine-wide level. |
| 158 | +
|
| 159 | +[rename-pr]: https://github.com/GitCredentialManager/git-credential-manager/pull/541 |
| 160 | +[rename-blog]: https://github.blog/2022-04-07-git-credential-manager-authentication-for-everyone/#universal-git-authentication |
| 161 | +[gcm-org]: https://github.com/GitCredentialManager |
| 162 | +[rename-ver]: https://github.com/GitCredentialManager/git-credential-manager/releases |
| 163 | +[git-windows]: https://git-scm.com/download/win |
| 164 | +[gcm-latest]: https://aka.ms/gcm/latest |
| 165 | +[warnings]: #rename-transition |
| 166 | +[win-standalone-instr]: ../README.md#standalone-installation |
0 commit comments