Git не спрашивает у меня парольную фразу gpg и не удается выполнить commit

Когда я делаю git commit -a -S -m "Commit Message", я получаю эту ошибку:

You need a passphrase to unlock the secret key for
user: "Username (Gpg Key) <email-id>"
2048-bit RSA key, ID 2487BE7C, created 2016-10-03

error: gpg failed to sign the data
fatal: failed to write commit object

Но он даже не запрашивает/не запрашивает мою кодовую фразу, когда я совершаю. Итак, как и где я могу ввести кодовую фразу при использовании флага gpg -S?

Ответ 1

У меня была аналогичная вещь. У меня были бинарные файлы gpg и gpg2, указывающие на версию GPG 2.0.30. Мне не подсказывали мою кодовую фразу.

В вашем профиле bash (я сделал это в моем файле .zshrc) добавьте следующую строку:

export GPG_TTY=$(tty)

Ответ 2

Если вы используете OSX. Кажется, что обновление gpg (из brew) изменено на местоположение gpg на gpg1, вы можете изменить двоичный файл, где git просматривает gpg:

git config --global gpg.program gpg1

Смотрите этот средний пост в блоге.