我目前正在通过HTTPS使用GitHub,并在Windows 7上安装了最新版本的Git(1.9.0)以及Git凭证帮助程序。
在设置我的环境时,我告诉git-credentials永久记住我的用户名和密码。
我最近通过网站更新了我的GitHub密码,现在我无法再推/拉/取等。
我如何在Windows 7上使用git-credentials helper更新密码?
这些答案都没有最终解决我的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
在我的密码更改后第一次尝试Git fetch时,我被告知我的用户名/密码组合无效。这是正确的,因为git-credential helper缓存了我的旧值。
但是,我在重新启动终端/命令提示符后尝试了另一个git fetch,这次凭证帮助器提示我输入我的GitHub用户名和密码。
我怀疑最初失败的Git获取请求与重新启动我的终端/命令提示符一起为我解决了这个问题。
我希望这个答案可以帮助其他人在未来处于类似的位置!
使用Windows,Linux和MacOS命令行的解决方案
如果您已在GitHub服务器上更新了GitHub密码,则在第一次尝试使用git fetch/pull/push
命令时,它会生成身份验证失败消息。
第二次执行相同的git fetch/pull/push
命令,它会提示输入凭据(用户名和密码)。输入GitHub服务器的用户名和新更新密码,登录成功。
即使我有这个问题,我也完成了上述步骤!
如果您是Windows用户,则可以在Credential Manager中删除或更新凭据。
在Windows 10中,转到以下路径:
控制面板→所有控制面板项目→凭证管理器
或者在“开始”菜单的“搜索Windows”部分中搜索“凭据管理器”。
然后从Credential Manager中选择“Windows Credentials”。
Credential Manager将在“通用凭据”下显示许多项目,包括您的outlook和GitHub存储库
单击Git右侧的下拉箭头:它将显示要编辑和删除的选项。如果删除,下次获取或拉取时将显示凭据弹出窗口。或者您可以直接在那里编辑凭据。
首先使用Git命令git --version
找到您正在使用的版本。如果您的版本高于1.7.10,则只需使用以下命令:
git config --global credential.helper wincred
现在,它不会在Git中多次提示输入密码。
在我看来,这里的答案已经过时了。对于我来说,在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) - 告诉凭证助手将凭证标记为已批准并在将来的连接中重用它们。
FWIW,我偶然发现了同样的问题(还有我的老板,所以它变得更加激烈)。
即时解决方案是在Windows凭据管理器中删除或修复您的Git条目。您可能很难在本地化的Windows版本中找到它,但幸运的是,您可以使用control keymgr.dll
或control /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年初修复(所以不要屏住呼吸)。
只需在安装了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键。