Почему gpg-agent / pinentry недоступен при подписывании коммитов с помощью git?

620
Judge2020

В настоящее время я использую git 2.15.0.windows.1, gpg 2.2.1 и gpg-agent 2.2.1. Я пытаюсь подписать коммит с помощью git через pinentry / gpg-agent, однако при подписании коммита через git pinentry никогда не появляется и git выдает ошибку. Я все еще могу подписывать коммиты через gpg, но не через 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 

Я все еще могу подписать через gpg без мерзавца:

Мой gpg.conf:

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

Когда я удаляю последние две строки, gpg по-прежнему выводит пинентри, и git может снова подписывать коммиты, однако он будет принимать только парольную фразу через командную строку вместо пинентри.

Как я могу исправить исходную ошибку и получить коментарии подписания всплывающего окна?

2

0 ответов на вопрос