答案1
这是 GnuPG 配置问题,而不是 git 配置问题。
pinentry-program
您可以通过在 .gnupg 文件中设置 来强制 GnuPG 使用基于终端的对话框来输入密码gpg-agent.conf
。对于简单的终端提示,请将以下内容放入您的~/.gnupg/gpg-agent.conf
:
pinentry-program /usr/bin/pinentry-tty
对于基于诅咒的提示:
pinentry-program /usr/bin/pinentry-curses
答案2
你的里面有什么~/.gnupg/gpg-agent.conf
?
我pinentry-program /usr/bin/pinentry-curses
的,所有使用的东西gpg
都会在终端中询问我的密码。
注意:如果更改配置,您将需要重新启动 gpg-agent(或向其发送 HUP 信号)。只需运行gpgconf --kill gpg-agent
即可,gpg
需要时重新启动。
另请注意:环境变量 GPG_TTY 需要是您的当前的tty(即您当前正在运行的 tty gpg
- 或任何称为 gpg 的内容,例如mutt
、pass
、git
等)。因此,将以下内容添加到您的 ~/.bashrc (或任何适合您的 shell 的内容):
GPG_TTY=$(tty)
export GPG_TTY
man gpg-agent
详情请参阅。