我目前正在通过HTTPS使用GitHub,并在Windows 7上安装了最新版本的Git(1.9.0)以及Git凭据帮助程序。
在设置环境时,我告诉git-credentials永久记住我的用户名和密码。
我最近通过网站更新了GitHub密码,现在不再能够进行推/拉/提取等操作。
我将如何在Windows 7的git-credentials助手上更新密码?
我目前正在通过HTTPS使用GitHub,并在Windows 7上安装了最新版本的Git(1.9.0)以及Git凭据帮助程序。
在设置环境时,我告诉git-credentials永久记住我的用户名和密码。
我最近通过网站更新了GitHub密码,现在不再能够进行推/拉/提取等操作。
我将如何在Windows 7的git-credentials助手上更新密码?
Answers:
这些答案都没有解决我的Git凭证问题。如果有人需要,这是行得通的工具(我在Windows 8.1上使用的是Git 1.9)。
要更新您的凭据,请转到控制面板 → 凭据管理器 → 通用凭据。找到与您的Git帐户相关的凭据,然后编辑它们以使用更新的密码。
请注意,要将Windows凭据管理器用于Git,您需要按如下方式配置凭据帮助程序:
git config --global credential.helper wincred
如果您有多个GitHub帐户用于不同的存储库,则应配置凭据以使用完整的存储库路径(而不是仅使用域,这是默认设置):
git config --global credential.useHttpPath true
git config --list
包含, 这应该是公认的答案credential.helper=wincred
。
ADD
一Generic Credential
用的地址git:http://yourserver:port/
。Http或Https相同,重要的是git:
开头。
更改密码后,第一次尝试Git提取时,系统提示我我的用户名/密码组合无效。这是正确的,因为git-credential助手已经缓存了我的旧值。
但是,我在重新启动终端/命令提示符后尝试再次进行git提取,这一次凭证帮助程序提示我输入GitHub用户名和密码。
我怀疑最初失败的Git提取请求与重新启动终端/命令提示符一起为我解决了此问题。
希望这个答案对以后处于类似位置的其他人有所帮助!
git fetch
,它还可以第二次使用git clone
。
Windows,Linux和MacOS上使用命令行的解决方案
如果您已在GitHub服务器上更新了GitHub密码,则在该git fetch/pull/push
命令的首次尝试中,它将生成身份验证失败消息。
git fetch/pull/push
第二次执行相同的命令,并提示输入凭据(用户名和密码)。输入用户名和GitHub服务器的新更新密码,登录成功。
即使我遇到了这个问题,我也执行了上述步骤并完成了!!
如果您是Windows用户,则可以在Credential Manager中删除或更新您的凭据。
在Windows 10中,转到以下路径:
控制面板 → 所有控制面板项目 → 凭据管理器
或在“开始”菜单的“搜索Windows”部分中搜索“凭据管理器”。
然后从凭据管理器中选择“ Windows凭据”。
凭证管理器将在“通用凭证”下显示许多项目,包括您的前景和GitHub存储库
您单击Git右侧的下拉箭头,它将显示编辑和删除选项。如果删除,则下次弹出时将弹出凭据弹出窗口。或者,您可以在那里直接编辑凭据。
control.exe
手动运行才能看到此控件。
首先使用Git命令找到要使用的版本git --version
。如果您的版本高于1.7.10,则只需使用以下命令:
git config --global credential.helper wincred
然后执行git fetch
,然后提示您更新密码。
现在,它不会在Git中多次提示输入密码。
--global
呢 我是否有冒险重新获得我所有存储库而不是仅受影响的存储库的风险?
在我看来,这里的答案已经过时了。对于我来说,在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
- 如Git凭据的典型用法(第4步)中所述-告诉凭据帮助者将凭据标记为已批准,并在以后的连接中重用它们。
git credential fill
原样进行操作,它会自动生成旧的错误密码;我必须使用此命令手动设置新的才能工作。无论如何,谢谢,这个答案帮助我解决了这个问题!
fill
,我们不应该使用approve
吗?
git credential reject
永远无法完成
FWIW,我偶然发现了这个同样的问题(我的老板也是如此,因此变得更加激烈)。
即时解决方案是删除或修复Windows凭据管理器中的Git条目。您可能很难在本地化的Windows版本中找到它,但是幸运的是,您可以使用或(或者如果您更喜欢经典外观)从旧的Windows+ R运行对话框中启动它。或将其放入批处理文件中供您的同事使用:。control keymgr.dll
control /name Microsoft.CredentialManager
rundll32.exe keymgr.dll, KRShowKeyMgr
cmdkey /delete:git:http://your.git.server.company.com
在Microsoft的Git Credential Manager中,这是一个已知问题,可能会在2019年初得到解决(因此,请不要屏住呼吸)。
cmdkey /delete:git:https://your.git.server.company.com
delpw = !cmdkey /delete:git:$(git remote get-url $1)
。用法:git delpw origin
(ps:/ del在这里不起作用,也赢了10)
仅cd
在您安装git-credential-winstore的目录中。如果您不知道在哪里,只需在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
别忘了按Enter两次protocol=https
。
当前的解决方案都不适合git bash 2.26.2。 如果您使用的是Windows凭据管理器,则在任何情况下都可以使用。
一个问题是Windows凭据管理器为登录用户运行。以我的情况为例,我右键单击运行git bash,以管理员身份运行。因此,我存储的凭据位于凭据管理器中,如果我不以管理员身份登录Windows,则无法使用Windows GUI进行访问。
要解决此问题:
cmdkey /list
。您的旧凭据应显示在此处,其部分显示为... target:xxx ...cmdkey /delete:xxx
,其中xxx是上一行的目标它应确认您的凭据已被删除。下次您在git bash中执行任何需要身份验证的操作时,都会弹出一个窗口要求您提供凭据。