Warum ist gpg-agent / pinentry nicht verfügbar, wenn Commits mit git signiert werden?

683
Judge2020

Momentan arbeite ich unter Windows mit git 2.15.0.windows.1, gpg 2.2.1 und gpg-agent 2.2.1. Ich versuche, ein Commit mit git via pinentry / gpg-agent zu unterzeichnen. Wenn Sie jedoch ein Commit über git unterschreiben, erscheint pinentry nie und git gibt einen Fehler aus. Ich kann Commits immer noch über gpg unterschreiben, aber nicht über git.

> git commit -a -S -m "Signed Commit" gpg: gpg-agent is not available in this session gpg: Sorry, no terminal at all requested - can't get input error: gpg failed to sign the data fatal: failed to write commit object 

Ich kann immer noch via gpg ohne git unterschreiben:

Meine gpg.conf:

keyserver hkp://keys.gnupg.net no-tty use-agent 

Wenn ich die letzten beiden Zeilen entferne, wird gpg immer noch Pinentry anzeigen, und git kann dann erneut Commits signieren, akzeptiert jedoch nur die Eingabe von Passphrasen über die Befehlszeile anstelle von Pinentry.

Wie kann ich den ursprünglichen Fehler beheben und die Signatur-Commits mit einem Pin-Eintrag anzeigen?

2

0 Antworten auf die Frage