在关注git教程的同时,我今天第一次将https推送到git hub上的远程,教程提到了以下命令以避免输入密码详细信息:
git config --global credential.helper wincred
我的问题是这是如何作为一个概念?这是我第一次遇到证件助手。我不确定它如何与Windows和Git一起使用,它存储在哪里以及当我推或拉时它如何进行身份验证?
我已尝试在线搜索此内容,但未找到任何可以为初学者的简单方式解释此信息的信息。
答案 0 :(得分:13)
答案 1 :(得分:1)
有关Windows凭据管理,请参阅the MSDN documentation。这个git接口只使用提供的API来安全地存储您的凭据。 CredEnumerate和CredWrite等函数用于检查存储的凭据并添加或更新它们。
答案 2 :(得分:1)
我最近也遇到了这个问题。我一直在“未经授权”进入我的标准GitHub帐户没有问题的存储库。它当然是一个私有存储库。
所以在最高级别:
您可以通过以下方式说出git clone:
git clone httpS://user:password@githib.com/org/repo.git
当然,每次都很痛苦(并且没有在git简介页面中记录)
或者,git CLI可以将您的用户名/密码存储在称为Windows凭据存储的安全加密存储中。这就是您输入git config --global credential.helper wincred.
那你就做
git clone httpS://githib.com/org/repo.git
,并使用您存储的凭据神奇地工作。当Git注意到它是一个私有存储库时,它不会提示输入用户名/密码,而是转到Windows凭据存储并获取您的用户名/密码,然后使用它。它以安全的方式通过https传输。我要强调的是HTTPS只能在https上使用,但是如果您在Git存储库上单击“复制”命令,则https是默认设置。
理论上,如果您忽略git,则应当提示您输入用户名和密码,并且不会存储您的用户名/密码;然后存储它们以备后用。就我而言,事实并非如此。继续阅读以获取修复。
它存储在哪里?
单击“开始”,然后键入“ Cred”,然后转到Windows凭据管理器。
然后单击“ Windows凭据”。
在所有内容中间可能有一个github条目。 (这是查看存储的密码的好机会!)就我而言,我有git条目,并且我发誓我并没有更改密码,但是我要做的就是重新输入密码,然后git clone工作可以使用我指定的用户名。
要验证您的设置,请键入
git config --list
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
... lots of stuff
credential.helper=manager
.... this is important:
user.name=John Q. Public
user.email=example@users.noreply.github.com
winupdater.recentlyseenversion=2.25.0.windows.1
.... more stuff
credential.helper=wincred
我试图消毒多汁的食物。您可以使用输入的CLI命令验证最后一行。要找到“ wincred”在哪里,请按照图片上方的步骤进行。