#8: GPG key を作り直して再設定
GPG でのコミットへの署名、設定しなおしたらうまくいきました。先日やったときは手順をひとつ飛ばしてしまっていた気がします。
今日やったこと(Done)
# 公開鍵を確認 $ gpg --list-keys # 秘密鍵を確認 $ gpg --list-secret-keys
# 公開鍵を削除 $ gpg --delete-keys # 秘密鍵を削除 $ gpg --delete-secret-keys
前回は $ gpg --full-generate-key
で作成しましたが、今回は $ gpg --gen-key
で作成してみました。
こちらのエントリの内容に沿って設定していきます。
# 鍵を作成 $ gpg --gen-key # <GPG key ID> を確認 $ gpg --list-secret-keys --keyid-format LONG # Git に <GPG key ID> を設定する $ git config --global user.signingkey <GPG key ID> # Git に gpg の PATH を設定する $ which gpg $ git config --global gpg.program /usr/local/bin/gpg # Git に自動的に署名付きでコミットするように設定する $ git config --global commit.gpgsign true # GPG の公開鍵を出力してクリップボードにコピー、GitHub に設定する $ gpg --armor --export <GPG key ID> | pbcopy
(追記 2020-08-09 0:55)
諸々設定してからコミットしてみると以下のエラーが出ました。
$ git commit -S -m 'Initial commit' error: gpg failed to sign the data fatal: failed to write commit object
下記のコマンドで一度 gpg-agent
を kill してからコミットするとうまくいきました。
$ gpgconf --kill gpg-agent
参照記事 : gnupg - Git error - gpg failed to sign data - Stack Overflow
(追記 ここまで)
clone
したリポジトリに変更を加えて -S
をつけて commit
して push
したところ、うまくいったようです。
Verified!
わかったこと(Fact)
fish
- コマンドの実行結果を他のコマンドに渡すには括弧
( )
でくくる。
$ echo (which gpg) /usr/local/bin/gpg