Git凭证助手 - 更新密码

时间:2014-09-15 10:29:41

标签: git github windows-7-x64 change-password git-credential-winstore

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

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

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

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

11 个答案:

答案 0 :(得分:200)

这些答案都没有最终解决我的Git凭据问题。如果有人需要,我可以使用以下内容(我在Windows 8.1上使用Git 1.9);

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

参考:here

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

git config --global credential.helper wincred

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

git config --global credential.useHttpPath true

答案 1 :(得分:93)

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

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

我怀疑初始失败的git fetch请求与重启我的终端/命令提示符一起为我解决了这个问题。

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

答案 2 :(得分:65)

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

如果您在GitHub服务器上更新了GitHub密码,则首次尝试git fetch/pull/push命令会生成身份验证失败消息。第二次执行相同的git fetch/pull/push命令并提示输入凭据(用户名/密码)。输入GitHub服务器的用户名和新更新密码,登录成功。

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

答案 3 :(得分:27)

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

在Windows 10中,转到以下路径

控制面板\所有控制面板项\凭据管理器

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

然后从凭据管理器中,选择“ Windows凭据”

凭证管理器将在“通用凭证”下显示许多项目,包括您的前景和GitHub Repo。

您单击git右侧的下拉箭头,它将显示“编辑/删除”选项。如果删除凭据,则下次取或拉时会弹出弹出窗口。或者,您可以在那里直接编辑凭据。

答案 4 :(得分:26)

首先找到您正在使用GIT命令的版本:git --version 如果你有一个比1.7.10更新的版本。然后只需使用此命令。

git config --global credential.helper wincred

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

答案 5 :(得分:23)

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

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

然后设置新用户名&amp;密码:

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

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

答案 6 :(得分:6)

适用于Windows的解决方案:

控制面板>用户帐户>凭据管理器>通用凭据

enter image description here

答案 7 :(得分:5)

其中,回答你的问题还为时不晚。

只需在已安装git-credential-winstore的目录中安装CD即可。 如果您不知道在GitBash中运行的位置:

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之后按两次输入。

答案 8 :(得分:5)

git bash 2.26.2都不适合我使用当前解决方案。 如果您使用的是Windows凭据管理器,则在任何情况下都可以使用。

一个问题是Windows凭据管理器为登录用户运行。以我的情况为例,我右键单击运行git bash,以管理员身份运行。因此,我存储的凭据位于凭据管理器中,如果我不以管理员身份登录Windows,则无法使用Windows GUI进行访问。

要解决此问题:

  • 以管理员身份(或您使用bash运行的任何用户)打开cmd
  • 转到Windows / system32
  • 输入cmdkey /list。您的旧凭据应显示在此处,其部分显示为... target: xxx ...
  • 键入cmdkey /delete:xxx,其中xxx是上一行的目标

它应确认您的凭据已被删除。下次您在git bash中执行任何需要身份验证的操作时,都会弹出一个窗口要求您提供凭据。

答案 9 :(得分:4)

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

在Microsoft的Git凭据管理器中,这是一个known issue,可能会在2019年初修复(因此请不要屏住呼吸)。

答案 10 :(得分:0)

对于Windows 10,它是:

控制面板>用户帐户>管理凭据> Windows凭据,搜索git凭据并进行编辑