None of the above answers seemed to match my problem. My gpg
binary (/usr/local/bin/gpg -> /usr/local/MacGPG2/bin/gpg2
) was installed as part of GPG Suite, rather than by brew.
Nevertheless, I felt that the advice boiled down to: "use whichever gpg
binary is the latest available on brew". So I tried:
brew update
brew upgrade git
brew install gpg
# the following are suggestions from brew's Caveats, to make `/usr/local/bin/gpg`
# point to the brew binary:
rm '/usr/local/bin/gpg'
brew link --overwrite gnupg2
I verified that I had correctly changed the gpg
upon my $PATH
to point to the new executable from brew:
which gpg
/usr/local/bin/gpg
ls -l /usr/local/bin/gpg
lrwxr-xr-x 1 burger admin 33 Feb 13 13:22 /usr/local/bin/gpg -> ../Cellar/gnupg2/2.0.30_3/bin/gpg
And I also explicitly told git which gpg
binary to use:
git config --global gpg.program gpg
Well, maybe that's not completely watertight, as it's sensitive to path. I didn't actually go as far as confirming beyond doubt that git had switched to invoking the brew gpg
.
In any case: none of this was sufficient to make git commit
successfully sign my commits again.
The thing that worked for me ultimately was to update GPG Suite. I was running version 2016.7, and I found that updating to 2016.10 fixed the problem for me.
I opened GPG Keychain.app
, and hit "Check for updates…". With the new version: signed commits worked correctly again.