我关注了Git 2.10发行说明中漂亮属性的几篇文章。经过将git升级到2.10.0并对global进行了更改,结果如下:.gitconfig
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = xyz
email = abc.def@gmail.com
signingkey = AAAAAAA
[core]
excludesfile = /Users/xyz/.gitignore_global
editor = 'subl' --wait
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[alias]
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
[color "diff"]
old = red strike
new = green italic
但是现在我尝试使用
git commit -a -S -m "message"
我看到以下错误-
您需要一个密码来解锁密钥
用户:“ XYZ(数字签名)”
2048位RSA密钥ID AAAAAAAA,创建于2016年7月1日
错误:gpg无法对数据签名致命:无法写入提交对象
注意 -我仍然可以使用提交更改git commit -a -m "message"
有没有办法克服同样的问题?还是需要对gpg
配置进行任何更改以适应git的升级?
更新1
在使用GPG密钥在Git中进行“自动签名”提交之后,还寻求进一步的有用性吗?。我已经使用配置了密钥
git config --global user.signingkey ED5CDE14(with my key)
git config --global commit.gpgsign true
而且很明显还是遇到相同的错误。
user.signingkey
修复了我的问题,这很奇怪。
user.name
是!=创建PGP密钥时使用的名称
gpg failed to sign the data
每次使用都会得到-S
。在2.8中,我可以毫无问题地签署提交。我不知道会发生什么