Skip to main content

コミットに署名する

GPG、SSH、S/MIME のいずれかを使って、ローカル環境でコミットに署名できます。

注: Git クライアントが既定でコミットに署名するように構成されている場合、GitHub Desktop は、コミットの署名のみをサポートします。

ヒント:

Git バージョン 2.0.0 以降で、ローカル リポジトリ用に既定でコミットに署名するように Git クライアントを設定するには、git config commit.gpgsign true を実行します。 コンピューター上の任意のローカル リポジトリで、既定ですべてのコミットに署名するには、git config --global commit.gpgsign true を実行します。

コミットに署名するたびに入力する必要をなくすために GPG キーパスフレーズを保管するには、次のツールの使用をおすすめします:

  • Mac ユーザーは、GPG スイートにより、macOS キーチェーンに GPG キー パスフレーズを保管できます。
  • Windows ユーザーの場合、Gpg4win は他の Windows ツールと統合されます。

また、GPG キー パスフレーズを保管しておくために gpg-agent を手動で設定できますが、これは ssh-agent のように macOS キーチェーンでは統合されず、さらに設定が必要です。

複数のキーを持っている場合、または、コミッターの ID にマッチしないキーでコミットやタグに署名しようとする場合、サインインのキーを Git に伝える必要があります。

  1. ローカルブランチに変更をコミットする場合、 -S フラグをGitコミットコマンドに追加します。

    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
    
  2. GPG を使用している場合は、コミットを作成した後、GPG キーを生成したときに設定したパスフレーズを指定します。

  3. ローカルでのコミット作成が完了したら、GitHub 上のリモートリポジトリにプッシュします。

    $ git push
    # Pushes your local commits to the remote repository
    
  4. GitHub上で、プルリクエストに移動します。

  5. pull request で、 [コミット] をクリックします。

    pull request のタイトルとタブのスクリーンショット。 [コミット] タブが、濃いオレンジ色の枠線で囲まれています。

  6. 検証済みの署名について詳しくは、 [検証済み] をクリックします。

    リポジトリのコミット リスト内のコミットのスクリーンショット。 [検証済み] がオレンジ色の枠線で強調表示されています。

参考資料