このエラーについて世界中を検索しましたが、役に立つヒントが見つかりませんでした。
keybaseを使用して鍵を生成し、公開鍵をgithub gpgに追加しました。
私gpg --list-secret-keys --keyid-format LONG
はこれです。
--------------------------------
sec rsa4096/7E8*******60B47B 2021-03-06 [SC] [expires: 2037-03-02]
51FBCD0E******************014D4860B47B
uid [ultimate] Fatih <********@live.be>
uid [ultimate] Fatih <[email protected]>
ssb rsa4096/15BBF8A123C4AC1B 2021-03-06 [E] [expires: 2037-03-02]
私のもの.gitconfig is this
[user]
signingkey = 7E8*******60B47B
email = [email protected]
name = kgnfth
[commit]
gpgsign = true
[gpg]
program = gpg
export GPG_TTY=$(tty)
私は.zshrcファイルに追加しました。
git commit -m "first commit"を実行するたびにこのエラーが発生します。
error: gpg failed to sign the data
fatal: failed to write commit object
署名キーに問題はありません。また、gpgをgpg2に変更してみましたが、同じエラーが発生しました。
助けが必要かどうかわからなかった
ありがとうございます。
ベストアンサー1
許可された回答によると、gpg-agentをzshプラグインに追加すると問題が解決します。後でエクスポートするGPG_TTY
だけで十分であることがわかりました。
.zshrcまたは.zprofileに次の行を追加します(優先)。
export GPG_TTY=$TTY
さらに詳細には、gpgは現在使用されている端末以外の外部ソースにピン入力プロセスを出力するようです。テレタイププライター現在の端末への参照を保存して、次のようにエクスポートします。GPG_TTYこの場合、問題は解決されました。