gitのコミットには、コミットした人を証明するための署名をつけることができますが
GitHubでは署名のついたコミットは上のスクリーンショットのように Verified
という表示がつきます。
今回はこれを出す方法を説明します。
0. ツールのインストール
brew install gnupg pinentry-mac
echo "pinentry-program /usr/local/bin/pinentry-mac" > ~/.gnupg/gpg-agent.conf
gpgconf --kill gpg-agent
1. キーを生成
gpg --full-gen-key
※注意: Email address
はgit config
に指定しているものと同じものを指定しなければなりません。
2. キーのID確認
gpg --list-secret-keys --keyid-format LONG
下記のような行が出力される。<キーID>
のキーID
ssb rsa4096/<キーID> 2020-04-08 [E]
3. 公開鍵を表示
gpg --armor --export <キーID>
4. 公開鍵をGitHubに登録
ここからNew GPG Key
で貼り付ける
5. コミットが生成したGPGキーで署名されるようにgitを設定
git config --global gpg.program gpg
git config --global user.signingkey <キーID>
git config --global commit.gpgsign true
6. コミットに "Verified" が付加されることを確認
7. キーを別のマシンでも利用できるように工夫する
keybaseというソフトウェアがとても便利なのですが、そちらを使った方法は別で書きます