Git凭证助手 - 更新密码

问题描述 投票:144回答:8

我目前正在通过HTTPS使用GitHub,并在Windows 7上安装了最新版本的Git(1.9.0)以及Git凭证帮助程序。

在设置我的环境时,我告诉git-credentials永久记住我的用户名和密码。

我最近通过网站更新了我的GitHub密码,现在我无法再推/拉/取等。

我如何在Windows 7上使用git-credentials helper更新密码?

git github windows-7-x64 change-password git-credential-winstore
8个回答
220
投票

这些答案都没有最终解决我的Git凭据问题。如果有人需要它,那么这是什么工作(我在Windows 8.1上使用Git 1.9)。

要更新凭据,请转到“控制面板”→“凭据管理器”→“通用凭据”。找到与您的Git帐户相关的凭据并编辑它们以使用更新的密码。

参考:How to update your Git credentials on Windows

请注意,要使用Windows Credential Manager for Git,您需要配置凭据帮助程序,如下所示:

git config --global credential.helper wincred

如果您有多个用于不同存储库的GitHub帐户,则应配置凭据以使用完整存储库路径(而不仅仅是域,这是默认值):

git config --global credential.useHttpPath true

95
投票

在我的密码更改后第一次尝试Git fetch时,我被告知我的用户名/密码组合无效。这是正确的,因为git-credential helper缓存了我的旧值。

但是,我在重新启动终端/命令提示符后尝试了另一个git fetch,这次凭证帮助器提示我输入我的GitHub用户名和密码。

我怀疑最初失败的Git获取请求与重新启动我的终端/命令提示符一起为我解决了这个问题。

我希望这个答案可以帮助其他人在未来处于类似的位置!


68
投票

使用Windows,Linux和MacOS命令行的解决方案

如果您已在GitHub服务器上更新了GitHub密码,则在第一次尝试使用git fetch/pull/push命令时,它会生成身份验证失败消息。

第二次执行相同的git fetch/pull/push命令,它会提示输入凭据(用户名和密码)。输入GitHub服务器的用户名和新更新密码,登录成功。

即使我有这个问题,我也完成了上述步骤!


35
投票

如果您是Windows用户,则可以在Credential Manager中删除或更新凭据。

在Windows 10中,转到以下路径:

控制面板→所有控制面板项目→凭证管理器

或者在“开始”菜单的“搜索Windows”部分中搜索“凭据管理器”。

然后从Credential Manager中选择“Windows Credentials”。

Credential Manager将在“通用凭据”下显示许多项目,包括您的outlook和GitHub存储库

单击Git右侧的下拉箭头:它将显示要编辑和删除的选项。如果删除,下次获取或拉取时将显示凭据弹出窗口。或者您可以直接在那里编辑凭据。


26
投票

首先使用Git命令git --version找到您正在使用的版本。如果您的版本高于1.7.10,则只需使用以下命令:

git config --global credential.helper wincred

现在,它不会在Git中多次提示输入密码。


24
投票

在我看来,这里的答案已经过时了。对于我来说,在Windows 10和Git 2.15.0下,我完成了这项工作:

git credential reject
protocol=https
host=github.com
<Empty line here>

然后设置新的用户名和密码:

git credential fill
protocol=https
host=github.com
<empty line here>

在此之后,如果凭证现在在所需的目标主机上工作,我们应该使用git credential approve中提到的typical use of Git credentials(步骤4) - 告诉凭证助手将凭证标记为已批准并在将来的连接中重用它们。


8
投票

FWIW,我偶然发现了同样的问题(还有我的老板,所以它变得更加激烈)。

即时解决方案是在Windows凭据管理器中删除或修复您的Git条目。您可能很难在本地化的Windows版本中找到它,但幸运的是,您可以使用control keymgr.dllcontrol /name Microsoft.CredentialManager(或rundll32.exe keymgr.dll, KRShowKeyMgr,如果您更喜欢经典外观)从旧的Windows + R运行对话框启动它。或者将它放在同事的批处理文件中:cmdkey /delete:git:http://your.git.server.company.com

在微软的Git Credential Manager中,这是a known issue,可能会在2019年初修复(所以不要屏住呼吸)。


6
投票

只需在安装了git-credential-winstore的目录中使用cd。如果您不知道在哪里,只需在Git Bash中运行:

cat ~/.gitconfig

它应该打印出如下内容:

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

在这种情况下,您的存储库是C:\ ProgramFile \ GitCredStore。使用Git Bash或Windows命令进入此文件夹后,只需键入:

git-credential-winstore.exe erase
host=github.com
protocol=https

不要忘记在protocol=https之后按两次Enter键。

© www.soinside.com 2019 - 2024. All rights reserved.