Skip to content

Commit a47e1ce

Browse files
committed
docs: add documentation about the GCM.exe rename
Add documentation with information about the GCM.exe rename, and how to fix-up any configuration after the change. The aka.ms/gcm/rename shortlink points to this document.
1 parent fa2cc18 commit a47e1ce

File tree

2 files changed

+166
-0
lines changed

2 files changed

+166
-0
lines changed

docs/img/gcmcore-rename.png

66.1 KB
Loading

docs/rename.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
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+
![Git Credential Manager Core renamed](img/gcmcore-rename.png)
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

Comments
 (0)