如何检查Git中的任何凭证管理器是否已存储给定域的密码?

时间:2018-08-11 21:17:58

标签: git cross-platform

可以将Git配置为remember passwords

如何检查给定的域是否存储了密码?

我在https://git-scm.com/docs/git-credential上找到了一种可用的API。

例如,假设我们对GitHub凭据感兴趣,并且用户名存储在gitconfig中,我们可以运行

inline std::vector<T> vec;

,如果凭据高速缓存中有密码,它将返回密码。不幸的是,如果密码不可用,它将锁定(并要求用户指定密码),这使它不适合脚本。

https://git-scm.com/docs/gitcredentials似乎没有解决此问题的有用信息。

为避免XY问题:我有一个脚本,该脚本应该自动从一个存储库中推送提交。它可以等待推送,直到用户通过身份验证并且GitHub凭证缓存记住了密码。

我强烈希望使用跨平台的解决方案(我将在Linux上使用它,但是我不希望在开始使用其他操作系统时不重写git设置)。

1 个答案:

答案 0 :(得分:1)

Microsoft GCM (Git Credential Manager)包括非交互模式支持。

通常(与操作系统无关),custom credential manager始终包含以下命令:

  • get
  • store
  • erase

一个get后跟一个grep应该足以确认域是否在该凭据帮助器中注册了密码。