SSH鍵を使った署名つきコミット

GitHubでは、GPG鍵だけでなくSSH鍵を使ってコミットに署名することができます。ここでは、サーバに登録済みのSSH鍵(authorized_keys)を利用して signed commit を行う手順を紹介します。

参考: GitHub公式ガイド

1. SSH鍵をGitHubに登録する

まず、利用するSSH公開鍵をGitHubアカウントに登録します。
(すでにリポジトリへの接続用にSSH鍵を登録している場合は、この手順を省略できます。)

手順: GitHub Docs - Adding a new SSH key to your GitHub account

2. Gitに署名用のSSH鍵を設定する

Gitの署名方式をSSHに切り替え、署名に使う鍵を指定します。
サーバ上の ~/.ssh/authorized_keys を利用する想定です。

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/authorized_keys

詳細: GitHub Docs - Telling Git about your SSH key

3. 署名付きコミットを作成する

署名をつけてコミットするには、-S オプションを利用します。

git commit -S -m "YOUR_COMMIT_MESSAGE"

参考: GitHub Docs - Signing commits

4. デフォルトで署名を有効にする(任意)

毎回 -S を指定するのが面倒な場合、デフォルトで署名するように設定できます。

git config --global commit.gpgsign true