解决git commit -S无法签名的问题

本文最后更新于 2024年11月18日 下午

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

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

现象

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

1
2
3
4
5
6
7
8
9
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

解决

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

1
gpg-agent --daemon

输出:

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

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

再次commit,成功:

1
2
3
4
5
[main aaa] aaa
n files changed, n insertions(+), n deletions(-)
create mode 100644 aaa
create mode 100644 bbb
create mode 100644 ccc

解决


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


解决git commit -S无法签名的问题
https://blog.mailset.top/解决git-commit-S无法签名的问题/
作者
mail_set
发布于
2024年11月16日
许可协议