Git凭据助手-更新密码

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

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

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

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

412013 次浏览

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

然而,在重新启动我的终端/命令提示符后,我尝试了另一个git获取,这一次凭据助手提示我输入我的GitHub用户名和密码。

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

我希望这个答案能在未来帮助到其他处于类似处境的人!

只要在你安装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之后按两次输入

首先用Git命令git --version找到你正在使用的版本。如果您的版本比1.7.10更新,那么只需使用这个命令:

git config --global credential.helper wincred

然后执行git fetch,然后它会提示密码更新。

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

Windows、Linux和MacOS下的命令行解决方案

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

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

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

这些答案最终都不能解决我的Git证书问题。如果有人需要的话,这里是有效的方法(我在Windows 8.1上使用Git 1.9)。

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

参考:如何在Windows上更新你的Git凭证

注意,要使用Git的Windows凭据管理器,你需要像这样配置凭据助手:

git config --global credential.helper wincred

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

git config --global credential.useHttpPath true

在我看来,这里的答案已经过时了。对我来说,使用Git v2.15.0像这样发出git credential reject就完成了工作:

$ 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——正如Git凭证的典型使用(步骤4)中提到的那样——告诉凭据助手将凭据标记为已批准并在未来的连接中重用它们。

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

Windows 10下,进入如下路径:

控制面板所有控制面板项证书管理器

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

然后在凭证管理器中,选择“Windows凭证”。

证书管理器将显示许多项,包括您的outlook和GitHub存储库下的“通用证书”

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

顺便说一句,我也遇到了同样的问题(我的老板也是,所以问题变得更严重了)。

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

在微软的Git凭据管理器中,这是一个已知的问题,可能最快在2019年初修复(所以不要屏住呼吸)。

更新(2020-09-30): GCM4W似乎或多或少被放弃了(上一次发布是在一年多以前,从那时起只有一个提交给master,我不骗你,“重新创建GCM logo的可扩展版本”)。但不要绝望,随着微软现在转向Core,有一个名为GCM核心的闪亮新项目,它似乎可以正确处理密码更改。它可以独立安装(应该自动激活,否则使用git config --system credential.helper manager-core激活),但也包含在当前的Git for Windows 2.28.0中。有关它的更多信息,请参见这篇博文

没有一个当前的解决方案为我工作的git bash 2.26.2。 如果您正在使用windows凭据管理器,这应该在任何情况下都有效

一个问题是为登录用户运行的windows凭据管理器。以我的例子为例,我用右键单击运行git bash,以管理员身份运行。因此,我存储的凭据是在凭据管理器,我不能访问与windows GUI,如果我不登录到windows作为管理员。

要解决这个问题:

  • 以admin(或任何你运行git bash的用户)打开cmd
  • 进入“windows/system32”目录
  • cmdkey /list类型。你的旧凭证应该出现在这里,其中的一部分写着…target:xxx
  • 类型cmdkey /delete:xxx,其中xxx是前一行的目标

它会确认你的证书已被删除。下次在git bash中执行任何需要身份验证的操作时,将会弹出一个窗口询问您的凭据。

Windows的工作解决方案:

控制面板>用户帐户及gt;证书经理;通用凭证

enter image description here

对于Windows 10,它是:

控制面板>用户帐户及gt;管理您的证书>Windows凭证,搜索git凭证并编辑

如果你重置了你的密码,那么你会在git bash命令窗口中得到认证失败错误。(它不显示弹出窗口,你可以输入新密码)。

在git bash cmd窗口中输入以下命令:

$ git config --global credential.helper wincred

有时候会弹出输入新密码的窗口 有时,当你试图执行$git clone ..命令

时,会弹出窗口

如果你一直得到“致命:认证失败”https://......git"您无法更新密码。

  1. $ git配置——全局凭证。辅助wincred
  2. Git克隆-b .. Git
  3. 弹出窗口将显示用户名和密码
  4. 输入新密码