在谈到Git时,我有点像新秀。所以我决定阅读Scott Chacon的Pro Git。 BTW伟大的书,强烈推荐它。
无论如何得到了关于签名标签的部分。 要使用GPG对标签进行签名,您必须设置私钥。 但是,当我跑:
git tag -s v1.6 -m "my signed 1.6 tag"
我得到了以下内容:
C:\Users\Name\Desktop\git>git tag -s v1.6 -m "my signed 1.6 tag"
gpg: error loading `iconv.dll': The specified module could not be found.
gpg: please see http://www.gnupg.org/download/iconv.html for more information
gpg: skipped "Name <name@gmail.com>": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
error: unable to sign the tag
所以,我完成了错误消息告诉我的操作,然后转到链接并按照说明进行操作。我将iconv.dll复制到包含gpg.exe(\ Git \ bin)的文件夹中。再次执行命令并得到:
C:\Users\Name\Desktop\git>git tag -s v1.6 -m "my signed 1.6 tag"
gpg: skipped "Name <name@gmail.com>": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
error: unable to sign the tag
编辑:
当我尝试列出我的密钥时,我收到此错误???
Name@NAME-PC ~
$ gpg --list-secret-keys
gpg: keyblock resource `c:/Users/Name/.gnupg\secring.gpg': file open error
gpg: keyblock resource `c:/Users/Name/.gnupg\pubring.gpg': file open error
gpg: fatal: c:/Users/Name/.gnupg: directory does not exist!
secmem usage: 0/0 bytes in 0/0 blocks of pool 0/32768
答案 0 :(得分:7)
您可以使用gpg GUI(例如gpg4win),this tutorial之后,或者(更新)官方gpg4win文档“Gpg4win for Novices初始化您的gnupg环境(密钥) ”
请注意,此blog post添加了以下警告:
我安装了Gpg4win,它安装了一个很好的GUI来管理密钥和GPG命令行界面 我对该过程的无知很明显,因为我一再尝试使用GUI(GNU Privacy Assistant - 密钥管理器)来创建我的密钥。 该GUI似乎可以创建有效的密钥,但无论何时存储相关的密钥部件文件都不是GPG命令行期望找到它们的地方。
(注意:可能在C:\Users\Name\AppData\Roaming\gnupg
上,目录名为gnupg
而不是.gnupg
)
相反,请务必使用命令行客户端。从:
开始
gpg --gen-key
如果密钥创建失败,您可能需要手动创建目录
c:users<USER>.gnupg
,GPG显然不会单独执行。
cd C:\Users\Name
mkdir .gnupg
xcopy C:\Users\Name\AppData\Roaming\gnupg .gnupg
我一路上看到的错误是
gpg: no writable public keyring found
和
signing failed: secret key not available
注意:一旦您的gnupg到位,如果您仍然有错误消息,请执行add the the (gnupg) key-id
you want to use when signing your tag:
git tag -u 'key-id' -s -m "some comment" some-tag