"No secret key" 在 Windows 上签署 git 提交时出错
"No secret key" error when signing git commit on Windows
我在尝试签署提交时遇到此错误:
git commit -S -m "test"
gpg: skipped "EF617ACA9EC3XXXX": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
这是 gpg --list-secret-keys --keyid-format LONG 的输出
钥匙在那里
sec rsa4096/EF617ACA9EC3XXXX 2020-05-17 [SC] [expires: 2022-05-17]
AD68154000A712DCD161D826EF617ACA9EC3XXXX
uid [ultimate] name <email@gmail.com>
这是 git 具有相同密钥的配置
user.signingkey=EF617ACA9EC3XXXX
user.email=email@gmail.com
知道哪里出了问题吗?
先检查 git config gpg.program
to see if this is gpg
or gpg2
(as ).
然后键入 where gpg
和 where gpg2
以检查 GPG 程序考虑了哪个路径。
我建议将 gpg.program
设置为 gpg2
,并将您的 gpg.exe
(假设其版本为 2.x)复制到 gpg2.exe
这应该会强制 Git/GPG 充当 gpg2。
如果有人像我一样是 dufus,我会收到此错误,因为我在通过 git config --global -e
或 code ~/.gitconfig
或您喜欢的任何编辑器直接编辑文件时输入了错误的 gitkey。
singingkey
而不是
signingkey
♂️
在 windows 10 git bash 中遇到了同样的问题。这样做解决了我的问题。您可以通过 运行 where gpg
找到此路径
$ git config --global gpg.program "C:\Program Files\Git\usr\bin\gpg.exe"
git config --global gpg.program "c:/Program Files (x86)/GnuPG/bin/gpg.exe"
我安装了 Kleopatra 并在其中生成了我的密钥。在我 运行 上面的命令之前,我无法创建提交。
我在尝试签署提交时遇到此错误:
git commit -S -m "test"
gpg: skipped "EF617ACA9EC3XXXX": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
这是 gpg --list-secret-keys --keyid-format LONG 的输出
钥匙在那里
sec rsa4096/EF617ACA9EC3XXXX 2020-05-17 [SC] [expires: 2022-05-17]
AD68154000A712DCD161D826EF617ACA9EC3XXXX
uid [ultimate] name <email@gmail.com>
这是 git 具有相同密钥的配置
user.signingkey=EF617ACA9EC3XXXX
user.email=email@gmail.com
知道哪里出了问题吗?
先检查 git config gpg.program
to see if this is gpg
or gpg2
(as
然后键入 where gpg
和 where gpg2
以检查 GPG 程序考虑了哪个路径。
我建议将 gpg.program
设置为 gpg2
,并将您的 gpg.exe
(假设其版本为 2.x)复制到 gpg2.exe
这应该会强制 Git/GPG 充当 gpg2。
如果有人像我一样是 dufus,我会收到此错误,因为我在通过 git config --global -e
或 code ~/.gitconfig
或您喜欢的任何编辑器直接编辑文件时输入了错误的 gitkey。
singingkey
而不是signingkey
♂️
在 windows 10 git bash 中遇到了同样的问题。这样做解决了我的问题。您可以通过 运行 where gpg
$ git config --global gpg.program "C:\Program Files\Git\usr\bin\gpg.exe"
git config --global gpg.program "c:/Program Files (x86)/GnuPG/bin/gpg.exe"
我安装了 Kleopatra 并在其中生成了我的密钥。在我 运行 上面的命令之前,我无法创建提交。