You have installed GPG, then tried to commit and suddenly you see this error message after it:
error: gpg failed to sign the data
fatal: failed to write commit object
For understanding what's going on, first check what git is doing, so add GIT_TRACE=1 at the beginning of the command you used before (git commit or git rebase):
GIT_TRACE=1 git commit
With that you can see what the problem can be. And what GPG is doing: Probably you will see something like this
10:37:22.346480 run-command.c:637 trace: run_command: gpg --status-fd=2 -bsau <your GPG key>
(Check if your GPG key is correct)
Execute that gpg command again in the command line:
gpg --status-fd=2 -bsau <your GPG key>
Now you could see what happened in detail!
We can have many problems, but I list what I found:
- It could be that the GPG key was expired: https://stackoverflow.com/a/47561300/532912
- Another thing could be that the secret key was not set (In my case the message said
gpg: signing failed: No secret keyas it can be see in the image below).
It means that is not finding the key that was set. - You can see in the thread of this gist other ways to find the solution to other problems. I recommend to read the Github guide for signing commits with GPG.
Hope it helps!