2016-10-03 28 views
12

Kiedy zrobić git commit -a -S -m "Commit Message", otrzymuję ten błąd:Git nie pytaj mnie o gpg hasłem i nie mój popełnić

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 

Ale to nawet nie zapytać/prosi o hasło kiedy popełnić. W jaki sposób i gdzie mogę wprowadzić moje hasło podczas używania flagi gpg -S?

+0

jesteś pewna gpg może odczytać dane wejściowe? Jeśli stdin jest zamknięty, zobaczysz powyższy komunikat o błędzie. Jeśli polecenie git nie jest uruchamiane w powłoce interaktywnej, może być konieczne uruchomienie programu gpg-agent, aby obsłużyć dane wejściowe hasła. –

+0

@ G.Sliepen Można powiedzieć, jak go uruchomić, proszę? – Dawny33

Odpowiedz

15

Miałem podobne rzeczy. Miałem pliki binarne gpg i gpg2, obie wskazując na GPG w wersji 2.0.30. Nie zostałem poproszony o podanie hasła.

W swoim profilu bash (zrobiłem to w moim pliku .zshrc) dodać następujący wiersz:

export GPG_TTY=$(tty)

+0

Wielkie dzięki, działa to dla mnie w moim bash na MacOS. – gpanda

1

Jeśli używasz OSX. Wydaje się, że zmiana gpg (z wywaru) zmieniono na miejscu GPG do gpg1 można zmienić binarny gdzie git wyszukuje GPG:

git config --global gpg.program gpg1 

Zobacz this medium blog post.

+0

Dla mnie nadal jest to gpg, ale nie będzie pytać o hasło i nie powiedzie się. Jakieś inne zalecenie? – DiegoRBaquero