Git supports showing diffs for encrypted files, but has to be told to do so.
git config --global diff.gpg.textconv "gpg --no-tty --decrypt"
echo "*.gpg filter=gpg diff=gpg" >> .gitattributes
echo "*.asc filter=gpg diff=gpg" >> .gitattributes
or
curl -sL https://gist.github.com/marcelosousaalmeida/e6593b93b388cdf1dbc282dffd424d1b/raw/.gitattributes -o .gitattributes
If you want to actually see the diff of the GPG messages that normally go to STDERR you have to use a subshell like this:
textconv = sh -c 'gpg --no-tty --decrypt $0 2>&1'