5

似乎是一个简单的问题,但我找不到解决方案,在我存储在缓存中的git config 凭据git config --list(用户名和个人访问令牌)中,返回这样的凭据信息

credential.helper=cache

是否可以从缓存中看到凭据,我尝试了以下三个位置

  1. (repository_home) /.git/config- 没有关于用户名密码的信息

  2. ~/.gitconfig- 在 repo 文件夹中找不到文件

4

2 回答 2

7

git-credential git credential fill在这里可能会有所帮助,您需要输入主机和协议详细信息以获取用户名和密码。

$ git credential fill
protocol=https
host=example.com

输出:

protocol=https
host=example.com
username=bob
password=secret
于 2020-08-04T19:18:37.450 回答
4

您可以从凭证助手查询一组特定的凭证,但凭证助手协议中没有允许您查询所有凭证的部分。一般来说,这很困难,因为凭证助手可以响应与模式匹配的所有凭证,例如https://*.example.orgor https://github.com/bk2204/*,并且该模式不需要匹配任何可以表达的简单模式(例如,助手可以非常了解哪个用户有权访问的基于 LDAP 的存储库)。

对于cache凭证助手,没有办法枚举这些凭证。

如果要查找特定 URL 的凭据,最简单的方法是:

echo url=https://github.com/git/git.git | git credential fill

这将打印任何凭证助手都知道的凭证。gitcredentials(7)您可以在手册页中查看有关该协议的更多信息。

于 2020-08-04T23:51:34.220 回答