My favorite Git client is Tower. I wanted to find a way to sign my git commits despite that not being a supported feature of Tower. Turns out it only took a couple configuration options to make it work.
Configure your git client to always sign commits:
git config --global commit.gpgsign true
Try to sign a commit from the command line before trying it with Tower. Once you're able to successfully sign commits from the command line, you can set it up to work with Tower.
no-tty to your GPG configuration, to allow Tower to use it:
echo no-tty >> ~/.gnupg/gpg.conf
You'll need to specify the absolute path to the
gpg program in order for Tower to be able to find it.
git config --global gpg.program /usr/local/bin/gpg
Now when you make a commit from Tower, you should be prompted to unlock your key with your passphrase from GPG Tools, and if you save it in your keychain it should continue to work seamlessly.
Now, whenever you make a commit and push it to GitHub, you should see the "verified" mark next to your commits!