GPG キーを使用して Git のコミットを「自動署名」する方法はありますか? 質問する

GPG キーを使用して Git のコミットを「自動署名」する方法はありますか? 質問する

作成された各コミットまたはタグに Git が常に署名するようにする簡単な方法はありますか?

私は次のように試しました:

エイリアス commit = commit -S

しかし、それではうまくいきませんでした。

これを実現するために別のプログラムをインストールしたくありません。簡単に実行できますか?

ちょっとした質問ですが、コミットには署名は必要なく、タグのみでよいのではないでしょうか。私は Homebrew などのプロジェクトに単一のコミットを送信するので、タグは作成しません。

ベストアンサー1

-S注:コミットが署名されていることを確認するために常に追加したくない場合は、puそのオプションを処理する設定を追加する提案があります (現時点ではブランチ '' 、2013 年 12 月なので、git リリースに反映される保証はありません)。2014
年 5 月更新: Git 2.0 で (このパッチシリーズで再送信

見るコミット 2af2ef3によるニコラ・ヴィジエ(boklm):

commit.gpgsignすべてのコミットに署名するオプションを追加する

-Sすべてのコミットに GPG 署名したい場合は、常にオプションを追加する必要があります。
構成commit.gpgsignオプションを使用すると、すべてのコミットに自動的に署名できます。

commit.gpgsign

すべてのコミットを GPG 署名するかどうかを指定するブール値。
リベースなどの操作を実行するときにこのオプションを使用すると、多数のコミットが署名される可能性があります。GPG パスフレーズを何度も入力しなくても済むように、エージェントを使用すると便利な場合があります。


この設定は通常、リポジトリごとに設定されます (プライベートな実験的なローカル リポジトリに署名する必要はありません)。

cd /path/to/repo/needing/gpg/signature
git config commit.gpgsign true

user.signingKeyこれをグローバル設定(コミットに署名したいすべてのリポジトリで使用される一意のキー)として組み合わせます。

git config --global user.signingkey F2C7AB29!
                                           ^^^

としてウボンビ示唆するコメント(そして「GPG ハードウェア キーと Git 署名"、 に基づく "ユーザーIDを指定する方法

gpg を使用する場合、感嘆符 ( !) を追加して、指定されたプライマリ キーまたはセカンダリ キーの使用を強制し、どのプライマリ キーまたはセカンダリ キーを使用するかを計算しないようにすることができます。

ご了承くださいリック追加するコメント:

YubiKey のようなものを使用している場合 (推奨)、感嘆符について心配する必要はありません。主キー ペアに使用できる署名キーは次の 2 つだけだからです。

  • 主キー自体には、#使用できないことを示す が後ろに付いているはずです。
  • 秘密サブキー>の後に が付いており、これは、アプレット内で使用可能な唯一の署名キーとして YubiKey を指すスタブであることを示します。

すべての秘密鍵をシステム上で利用できるようにしておく場合(悪い習慣)は、利用可能な署名鍵の自動選択を防ぐのが良いでしょう。


user.signingKeygit 1.5.0(2007年1月)で導入されました。コミット d67778e:

Git リポジトリと gpg キーで同じ形式の名前を使用する必要はありません。
さらに、キーリングに複数のキーがあり、コミット メッセージで使用するアドレスと一致しないキーを使用したい場合もあります。

このパッチは、設定エントリ " user.signingKey" を追加します。このエントリが存在する場合、gpg の "-u" スイッチに渡され、タグ署名キーを上書きできるようになります。

これは、コミット aba9119(git 1.5.3.2) ユーザーが誤って設定した場合や、キーリングに秘密鍵がない場合にそれを検出しuser.signingKeyます.git/config

ノート:

おすすめ記事