💨
Mac で GPG を使って Git のコミットを署名する設定
一度設定してしまうとそれ以降何度も設定する事がないので、設定するたびに忘れてしまうので、設定する内容をメモしておきます。
実行環境
% sw_vers
ProductName: macOS
ProductVersion: 14.5
BuildVersion: 23F79
% brew --version
Homebrew 4.3.5
インストール
% brew install gnupg
...
% brew install pinentry-mac
キーを生成
% gpg --full-generate-key
キーの生成は、基本的にはデフォルトで進めて、ユーザー名、メールアドレス、パスワードなどは適切に設定する。
% gpg --list-secret-keys --keyid-format=long
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <hubot@example.com>
ssb 4096R/4BB6D45482678BE3 2016-03-10
上記の出力の場合、GPG Key は 3AA5C34371567BD2
。
% gpg --armor --export 3AA5C34371567BD2
-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----
キーを GitHub に設定
生成したキーをコピーして、こちらから設定する。
Git でコミット時に署名されるように設定
% git config --global user.signingkey 3AA5C34371567BD2
% git config --global commit.gpgsign true
% echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
% gpgconf --kill gpg-agent
done 🙌
Discussion