git credential-osxkeychain get 挂起

git credential-osxkeychain get 挂起

如果我执行git credential-osxkeychain get,它就会挂起,而此时它应该返回有关钥匙串中存储了哪些凭据的信息。有没有办法让它工作?

我正在使用 OS X 10.15.5

$ git credential-osxkeychain
usage: git credential-osxkeychain <get|store|erase>

$ git --version
git version 2.27.0

答案1

所有的git credential-*助手程序都旨在由 git 内部使用并遵循特定的接口。

当使用子命令运行助手时get,它等待标准输入的输入并期望读取一系列“key=value”行。例如,host=github.com。这是 git 告诉助手的方式哪个需要凭证。

当您直接在终端中运行程序时,其 stdin 仅连接到键盘输入。第一次Enter按键后,该工具已运行但正在等待键盘输入,就像catsed等工具一样。

第二次按键后,程序读一个空行并将其视为“输入结束”指示符,即不再输入 key=value 行。此时,它会搜索钥匙串并找到它认为与您“提供的”过滤器匹配的任何条目。

答案2

这对我有用: 通过命令行删除您的凭据

$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]

如果成功,则不会打印任何内容。要测试它是否有效,请尝试从 GitHub.com 克隆一个私有存储库。如果系统提示您输入密码,则表示钥匙串条目已被删除。

相关内容