git commit に署名を付ける

背景

先日とある repository に contribute した時に、署名付き commit が必要になったので、設定した記録。

署名付き commit とは

これのこと。

GPG キーの作成から設定まで

こちらに記載の手順の通り。
https://docs.github.com/ja/github/authenticating-to-github/generating-a-new-gpg-key#generating-a-gpg-key

gpg を install。

$ brew install gpg

GPG キーペアを生成。

$ gpg --full-generate-key

途中、ユーザ ID 情報で本名、メールアドレス、コメントの入力を順に求められるが、コメントについては空で問題ない。

$ gpg --list-secret-keys --keyid-format LONG

上記コマンドで表示されるGPGキーIDをコピーして、下記コメントで GPG キーをクリップボードにコピー。

$ gpg --armor --export <GPGキーID> | pbcopy

あとは下記ページを参照して、 GPG キーを GitHub アカウントに追加する。 https://docs.github.com/ja/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account

署名付きコミットをする

-S オプション付きで commit する。

$ git commit -S "Commit message"