266 字
1 分钟
解决git commit -S无法签名的问题

刚刚提交git的时候发现git commit -S卡了很长时间,接着失败了,但是笔者探索出来了一个解决方案

笔者用的是Windows 11系统,GnuPG版本为2.4.5

现象#

在git commit -S -m "aaa"的时候,会卡住很长时间不动,以往是卡完之后commit成功或者不用卡就成功,但今天失败了,输出如下所示:

error: gpg failed to sign the data:
gpg: can't connect to the keyboxd: IPC connect call failed?
gpg: error opening key DB: No Keybox daemon running?
gpg: skipped "XXX": Input/output error?
[GNUPG:] INV_SGNR 0 XXX?
[GNUPG:] FAILURE sign 33587249?
gpg: signing failed: Input/output error?
fatal: failed to write commit object

解决#

我发现的解决方法很简单,新开一个终端,运行:

Terminal window
gpg-agent --daemon

输出:

gpg-agent[pid]: gpg-agent (GnuPG) 2.4.5 started

这条命令将会卡住终端,切换到原来的终端上继续commit

再次commit,成功:

[main aaa] aaa
n files changed, n insertions(+), n deletions(-)
create mode 100644 aaa
create mode 100644 bbb
create mode 100644 ccc

解决


如果有什么疑问或者补充可以在下面评论!感谢支持!


2025/11/08 补: 第二次试了没用了。

解决git commit -S无法签名的问题
https://blog.mailset.top/解决git-commit-s无法签名的问题/
作者
mail_set
发布于
2024-11-16
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...

最后更新于 ,距今已过 694 天

部分内容可能已过时