2016-11-26 8 views
2

Я пытаюсь сгенерировать ключи и подписать фиксацию. Мой список ключей:Не удается зафиксировать с gpg2 в Windows 10 (GnuPG)

gpg2 --list-keys:

C:/Users/raski/AppData/Roaming/gnupg/pubring.gpg 

------------------------------------------------ 
pub 2048R/8E3A3251 2016-11-26 
uid  [ultimate] My Name <[email protected]> 
sub 2048R/29C8D116 2016-11-26 

git config --global -l:

filter.lfs.clean=git-lfs clean -- %f 
filter.lfs.smudge=git-lfs smudge -- %f 
filter.lfs.required=true 
user.name=roma 
[email protected] 
user.signingkey=8E3A3251 
commit.gpgsign=true 
gpg.program=D:/Programs/GnuPG/pub/gpg2 

Я пытаюсь сделать коммит:

git commit -m "initial" 

Раньше я добавить свой открытый ключ PGP в настройках Github. Но, у меня ошибка:

gpg: skipped "2048R/8E3A3251": No secret key 
gpg: signing failed: No secret key 
error: gpg failed to sign the data 
fatal: failed to write commit object 

Именно поэтому она до сих пор используют GPG, а GPG 2, хотя я настроил путь к gpg2. В чем может быть проблема?

+0

Что говорит 'gpg2 -K' (aka' gpg2 --list-secret-keys')? Вы только показываете общественную половину здесь. – jthill

ответ

1

It is why it is still using gpg, instead of gpg 2, although I have configured the path to gpg2.

Это было бы, потому что мерзавец для окон самого по себе включать gpg.exe 1.x в своей папке <git>/usr/bin, используемый git команд.

What can be the problem exists?

Вам нужно в папку <gpg2>\latest\pub скопировать gpg2.exe в gpg.exe, что способ PATH фактически может включать в себя gpg.exe 2.x перед gpg.exe 1.x от git.
Или, если он не работает, скопируйте <gpg2>\latest\pub\gpg2.exe в <git>/usr/bin/gpg.exe.

0

Просто удалите файл gpg.exe под номером <git>/usr/bin.

+0

При обновлении git для окон вам нужно будет переустановить 'gpg.exe'. – mrm