请帮我调试这组终端命令。
我已经创建了一个 GPG 密钥并将其添加到 github,并尝试签署我的提交:
me@my-macbook myproject % gpg --list-secret-keys --keyid-format=long
[keyboxd]
---------
sec rsa4096/CMC8D2G96B994245 2023-10-27 [SC] [expires: 2025-10-26]
07A38FD8F66EBD7597K3ID51CMC8D2G96B994839
uid [ultimate] gpgunm <[email protected]>
ssb rsa4096/078974E15960FC14 2023-10-27 [E] [expires: 2025-10-26]
me@my-macbook myproject % git config --global user.signingkey CMC8D2G96B994245
me@my-macbook myproject % git commit -m "Fix vulns"
error: Couldn't load public key CMC8D2G96B994245: No such file or directory?
fatal: failed to write commit object
me@my-macbook myproject %
如您所见,我列出了密钥,并尝试设置我的签名密钥,但是当我提交时,git 说无法加载公钥,因为没有这样的文件或目录。
答案1
错误消息不是来自 Git,也不是来自 GnuPG。它来自 ssh-keygen,这意味着您之前已将 Git 配置为使用 OpenSSH 密钥而不是 PGP 密钥进行提交签名。(在此模式下,“user.signingKey”需要是 OpenSSH 私钥的路径。)
取消设置gpg.format
Git 选项(或将其明确设置为openpgp
)以使 Git 再次使用 GnuPG。