I ran into a similar issue on my Mac a couple years back and it turns out my key was expired. I was not using SourceTree, only the Command line so as long as you're sure your keys are still valid, take a look at the StackOverflow article gpg failed to sign the data fatal: failed to write commit object [Git 2.10.0]. The accepted answer was as follows:
It looks like gpg1 is being deprecated/"gently nudged out of usage", so you probably should actually update to gpg2, unfortunately this involves quite a few more steps/a bit of time:
brew upgrade gnupg # This has a make step which takes a while brew link --overwrite gnupg brew install pinentry-mac echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf killall gpg-agent
echo "test" | gpg --clearsign # on linux it's gpg2 but brew stays as gpg
If this test is successful (no error/output includes PGP signature), you have successfully updated to the latest gpg version.
You should now be able to use git signing again!
It's worth noting you'll need to have:
git config --global gpg.program gpg # perhaps you had this already? On linux maybe gpg2 git config --global commit.gpgsign true # if you want to sign every commit
Note: After you've ran a signed commit, you can verify it signed with:
git log --show-signature -1
which will include gpg info for the last commit.
Please try the steps outlined above and if that doesn't help there are numerous suggestions in that article. If none of that helps run a git trace and post the results:
GIT_TRACE=1 git commit -m "Test Commit to get errors"
On my Mac, with Homebrew installed gpg and pinentry-mac, the following git configuration resolved the error:
name = My Name
email = firstname.lastname@example.org
signingkey = XXXXXXX
helper = osxkeychain
gpgsign = true
program = /usr/local/bin/gpg
Hello Community, I’m Anton Genkin, a product manager on the Bitbucket Server and Data Center team and am excited to share that Bitbucket Server 7.0 is now available! It's a platform release, one th...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events