git 安装 libsecret 凭据助手后出现推送错误:'credential--h' 不是 git 命令

git push error after installing libsecret credential helper: 'credential--h' is not a git command

我按照此处的说明安装了 libsecret 凭证助手:https://www.softwaredeveloper.blog/git-credential-storage-libsecret

现在,当我推送时,我收到错误 git: 'credential --h' is not a git command. See 'git --help',即使推送成功。为什么?

git config -l --show-origin | grep credential 的输出:

file:/home/alex/.gitconfig  credential.helper=/usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
file:.git/config    credential.helper=-h

问题是您在 .git/config 中的输入不正确。这很可能只是一个错字,这实际上并不少见。当您将凭据助手指定为单个单词时,Git 会在其前面添加 git credential-,从而生成您看到的消息。

要修复它,只需使用您喜欢的编辑器编辑 .git/config 文件并删除不正确的条目。

它继续工作的原因是因为 Git 使用每个凭据助手来查询然后批准或拒绝凭据。因此,您的功能性 libsecret 凭据帮助程序仍然会被调用,它提供您需要的凭据,并且仅调用损坏的条目来批准这些凭据,从而导致您看到的错误。