IntelliJ在尝试签署提交(GPG)时无法提交更改

21
我一直在设置我的开发环境,这样当我创建一个提交时,它会自动由GPG签名。我按照Github的文档进行操作,文档链接在此:https://help.github.com/categories/gpg/
我试图使用IntelliJ的git界面来创建一个提交,但总是失败并显示以下错误。
gpg: cannot open `/dev/tty`: Device not configured
error: gpg failed to sign the data
fatal: failed to write commit object
我在终端中直接使用git时没有遇到这个错误,但我发现有人遇到了类似的问题(在Source Tree中),并提到GUI没有弹出来输入密码。我猜这与那个问题类似。 我该如何解决这个问题?
3个回答

26
gpg.conf文件中添加以下内容,以配置GPG允许远程从程序调用它:

no-tty


请注意,此文件位于主目录中。https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration.html - Mark Tickner
我还需要使用 git config --global gpg.program $(which gpg) 命令来设置 Git 配置文件。 - Mark Tickner

3
您需要在您的 gpg.conf 文件中添加以下选项:

no-tty

use-agent


2
我昨天发现了这个问题的原因,并想为任何其他人发布一个答案。原因是当它尝试签署提交时,它想要打开一个窗口询问我的密码。我遵循了这个教程(特别是底部部分,以便将来不再询问密码)。请注意,该教程仅适用于macOS。 https://github.com/pstadler/keybase-gpg-github

嗨,即使我使用了相同的指南,在IntelliJ中仍然存在相同的问题。从控制台提交,甚至在IntelliJ的控制台内部提交都可以正常工作,并且提交会自动签名。但是使用“VCS->提交更改”对话框仍会引发“无法打开tty”错误。 - Gerard de Brieder
是的,我也遇到了完全相同的问题。仍在寻找解决方法。 - phedoreanu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接