环境定义:
- 使用Windows 10操作系统:
- 我使用 githttps://git-scm.com/ https://git-scm.com/和 Github 的 Git Shell
背景:
当我发出如下所示的 git clone 命令时:
git clone https://[email protected] /cdn-cgi/l/email-protection:443/name.git
Git 第一次提示我输入密码。然后它存储或缓存在某个地方。
Question:
Windows 中的密码存储或缓存在哪里?
是否有任何 git 命令列出所有存储库的缓存/存储的凭据?
更多澄清请求:
这取决于 git 的实现吗?我问的原因有以下两点:
- It seems当我使用原始 git 时https://git-scm.com/ https://git-scm.com/,它将密码存储在 Windows 密码库中。我可以在那里看到一些 git 用户名和密码
- 但是,我在任何地方都找不到 Github 的“Git shell”缓存/存储的密码
基于@milouk 回复的更新 1:
在Windows环境中,我尝试了Github的“Git shell”并克隆了一个存储库。它没有要求任何密码,所以我假设它使用缓存的密码。 ,我尝试了下面的命令,但它没有返回任何内容。
git config --global credential.helper wincred
这是因为 Github 的“Git shell”不是标准的 git 客户端吗?
基于@milouk 回复的更新 2:
据我所知,密码可能已缓存在内存中。
- 有没有办法获取内存中缓存的凭据列表?
- 有什么方法可以清除内存中缓存的凭据,这样我就不必重新启动来确保输入更新的密码?
git 提示您输入用户名和密码的原因是因为您正在为存储库使用 HTTPS 克隆 URL。
避免出现此提示的最佳方法是键入(如果您使用的是 Windows):
git config --global credential.helper wincred
在你的命令行上。
或者,如果您使用的是 Linux,请输入:
git config --global credential.helper cache
设置 git 使用凭证内存缓存
and
git config --global credential.helper 'cache --timeout=3600'
将缓存设置为 1 小时后超时(设置以秒为单位)。
为了回答您的问题,凭据已缓存到内存中。因此,即使使用上述命令,当您重新启动计算机时,您也必须再次输入您的凭据。
你也可以看一下here https://git-scm.com/book/gr/v2/Git-Tools-Credential-Storage以获得更详细的解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)