コミット署名する
macOS の場合
GPG で署名する
必要なツールを入れる
brew install gnupg pinentry-mac
GPG 鍵を作成する
gpg --full-generate-key
- 鍵の種類: RSA と RSA
- 鍵長: 4096
- 有効期限: お好みで(デフォルト:無期限)
- 本名: ハンドル名可
- 電子・メールアドレス: GitHub に登録しているメールアドレスと同じものを指定する(重要)
- コメント: 省略可
鍵IDの確認
gpg --list-secret-keys --keyid-format=long
戻り値の例:
sec rsa4096/1234ABCD5678EFGH 2025-12-21 [SC]
9AAA1111BBBB2222CCCC3333DDDD4444EEEE5555
uid [ 究極 ] Your Name <you@example.com>
ssb rsa4096/AAAA9999BBBB8888 2025-12-21 [E]
上記の例で鍵IDは、1234ABCD5678EFGH になります
Git に「この鍵で署名する」と指定する
鍵IDを入力してコマンドをコピーしてください
git config --global user.signingkey 1234ABCD5678EFGH
git config --global commit.gpgsign true
pinentry の設定
mkdir -p ~/.gnupg
echo "pinentry-program $(brew --prefix)/bin/pinentry-mac" > ~/.gnupg/gpg-agent.conf
echo "use-agent" > ~/.gnupg/gpg.conf
echo 'export GPG_TTY=$(tty)' >> ~/.zshrc
source ~/.zshrc
gpgconf --kill gpg-agent
公開鍵を GitHub に登録
公開鍵を ASCII 形式で出力
鍵IDを入力してコマンドをコピーしてください
gpg --armor --export 1234ABCD5678EFGH
コミット時にエラーが出る場合
Git の "user.name" と "user.email" を構成していることを確認してください。
以下を実行して user.name と user.email の設定をしてください
ユーザー名とメールアドレスを入力してコマンドをコピーしてください
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"