Por favor, ajude-me a depurar este conjunto de comandos de terminal.
Eu criei uma chave GPG e a adicionei ao github, e estou tentando assinar meus commits:
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 %
Como você pode ver, listei as chaves e tentei definir minha chave de canto, mas quando eu confirmo, o git diz que não pode carregar a chave pública porque não existe tal arquivo ou diretório.
A mensagem de erro não vem do Git, nem do GnuPG . Ele vem do ssh-keygen, o que significa que você configurou anteriormente o Git para usar chaves OpenSSH em vez de chaves PGP para assinaturas de commit. (Neste modo, 'user.signingKey' precisa ser um caminho para uma chave privada OpenSSH.)
Desmarque a
gpg.format
opção Git (ou defina-a explicitamente comoopenpgp
) para que o Git use o GnuPG novamente.