开始使用Eclipse(2018 - 12),并注意到在推送到GitHub时,我的提交都没有经过验证的签名。
有没有办法让Eclipse用我的GPG公钥来签署我提交给GitHub的内容?
$ gpg version
gpg (GnuPG) 2.2.13
$ git --version
git version 2.20.1
- 2019年3月22日更新**-
得到了2019 - 03(4.11.0)。仍然没有运气让Eclipse签署一个验证过的提交。我在Git Staging标签中看到了Sign Commit图标(锁),并在提交时得到了下面的对话框。
找不到用于签名的GPG密钥。请使用提交者电子邮件地址配置GPG密钥,设置user.signingKey或禁用提交签名。
我可以在OSX终端中签署提交,我的Eclipse配置首选项Team〉Git〉Configuration显示:
用户设置选项卡:
user:
name = [myname]
email = "[myname]@users.noreply.github.com"
signingkey = [mykey]
我在Eclipse中没有看到一个可以输入的地方(在. gitconfig中):
commit:
gpgsign = true
3条答案
按热度按时间dddzy1tm1#
从Eclipse IDE 2019-03(4.11)(将于2019年3月20日发布)开始,Git提交可以使用GPG密钥进行签名。
在 Git Staging 视图中,有一个带锁的图标用于启用签名:
如果在Git配置中
commit.gpgsign
被设置为true
,则默认按下该按钮。由于EGit不委托给命令行,而是使用JGit(这是Java中的一个Git实现)安装哪个版本的命令行Git或是否安装它都无关紧要。要访问密钥存储区,需要使用Bouncy Castle,这意味着Git配置中的gpg.program
将被忽略。在milestone 3 of the upcoming Eclipse release 2019-03中,签名应该已经可以工作了(在Windows上有一个已经修复的bug;参见我的bug report for a workaround)。
liwlm1x92#
检查Eclipse插件依赖列表中的JGit版本:如果是5.3,那么是,应该可以。
之后是JGit问题382212。
几周前,变更集133402引入了GpgSigner的概念,GpgSigner将签署提交。GpgSigner将是一个特定的实现(例如,Bouncycastle或OpenPgP可执行文件)。
不过,对于您正在使用的Eclipse版本来说,这可能太新了。
jogvjijk3#
在Git Staging视图中,有一个带锁的图标,请在提交和推送之前点击锁,您不会看到错误,它会推送到git repo。