すべてのコミットに署名するようにグローバルGit構成を変更しました。また、毎回パスワードを入力する必要がないように、gpg-agentを使用しています。
これで、新しいコミットを行うたびに、次の5行がコンソールに出力されます。
[blank line]
You need a passphrase to unlock the secret key for
user: "John Doe <[email protected]>"
2048-bit RSA key, ID ABCDEF12, created 2016-01-01
[blank line]
さらに悪いことに、単純なスタッシュを実行すると、このメッセージが表示されますtwiceが不必要にコンソールに入力されます(作成された2つのコミットオブジェクトのそれぞれに1つあると想定しています)。
この出力を抑制する方法はありますか?
これはgitの問題よりもgpgの構成の問題です。
エージェントを使用しているため、回避策としてno-tty
をgpg.conf
に追加できます。
echo 'no-tty' >> ~/.gnupg/gpg.conf
(これは --batch
オプションよりもうまく機能しているようです )
version 1.8.3.1
のGit Fedora 25
では、承認された回答が機能しません。
gpg-agent
が実行されているかどうかを確認する$ gpg-agent
gpg-agent
のパスフレーズがキャッシュにあることを確認してください。そこにあることを確認するには、現在のディレクトリにあるファイルに署名します。パスフレーズがキャッシュになかった場合は、ここで尋ねられます。$ gpg -s any-file.txt
新しく生成された署名済みのany-file.txt.gpg
を削除することを忘れないでください$ rm any-file.txt.gpg
現在、Gitでコミットに署名することは、gpg-agentから必要なパスフレーズを取得することで機能します。$ git commit -S -m 'my commit message'