Git signed commits - How to suppress "You need a passphrase to unlock the secret key..."

friederbluemle picture friederbluemle · Jun 11, 2016 · Viewed 8.4k times · Source

I changed my global Git configuration to sign all commits. I also use gpg-agent so that I don't have to type my password every time.

Now every time I make a new commit I see the following five lines printed to my console:

[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]

Even worse, when I do a simple stash, this message is printed twice, needlessly filling my console (I assume for one for each of the two commit objects that are created).

Is there a way to suppress this output?

Answer

VonC picture VonC · Jun 11, 2016

This is more a gpg configuration issue than a git one.

Since you are using an agent, you could as a workaround add no-tty to your gpg.conf.

echo 'no-tty' >> ~/.gnupg/gpg.conf

(this seems working even better than the --batch option)