git 为什么在SourceTree中禁用GnuPG-sign复选框?

js4nwp54  于 2023-11-15  发布在  Git
关注(0)|答案(4)|浏览(169)


的数据
使用Mac OS X约塞米蒂(10.10),我无法在SourceTree中激活提交的GnuPG签名,因为复选框被禁用了。

mfuanj7w

mfuanj7w1#

您可能没有将GPG程序设置(在SourceTree -> Preferences -> Advanced中找到)指向正确的bin。如果您在OS X上使用GPGTools,它应该是/usr/local/MacGPG2/binTo navigate to the /usr/bin directory in the Open File dialog,单击shift + command + g
x1c 0d1x的数据

twh00eeo

twh00eeo2#

从SourceTree版本1.8.1开始,如果您在启动SourceTree时没有GPG密钥,则该复选框也将被禁用。在SourceTree仍在运行时创建第一个GPG密钥没有帮助。您需要重新启动SourceTree,以便它注意到您现在有GPG密钥。
参考号:https://jira.atlassian.com/browse/SRCTREE-1835

thigvfpy

thigvfpy3#

虽然techpeace的答案似乎已经解决了它的BJ迈尔斯,也有另一个可能的原因,选择保持灰色,尽管纠正设置。
如果你的钥匙圈已经有一段时间了(在我的情况下接近20年),很有可能一些碎片堆积在信任数据库的一个角落或另一个角落。棘手的是,在大多数情况下,这不会以明显的方式出现,即你仍然可以签名,验证,加密,只是偶尔会出现虚假的keyid_from_fingerprint: no pubkeypublic key of ultimately trusted key 00000000 not found(通常是在使用某些密钥环管理前端时)。
在我的例子中,这种信任数据库的不一致性阻止了SourceTree启用提交签名选项。
解决办法很简单;简单地按照Spike's instructions for weeding out 00000000 keys from the trustdb.斯派克谈到一个0000000条目,但在我的情况下有几个.只要删除他们所有.需要不到5分钟,和工作就像一个魅力.

wdebmtf2

wdebmtf24#

设置Sourcetree与GPG签约:

  • 安装gnupg:brew install gnupg
  • 我发现gnupg安装在/opt/homebrew/Cellar/gnupg/2.3.6/bin中(注意2.3.6对你来说可能不同,/opt/homebrew用于ARM Mac,brew安装到英特尔Mac上的/usr/local/bin
  • 运行ln -s gpg gpg2(根据另一个答案中的评论)
  • 进入Sourcetree偏好设置(命令+,>高级> GPG程序)
  • 按Shift + Command + G并粘贴前面的路径:/opt/homebrew/Cellar/gnupg/2.3.6/bin

在SourceTreemac menubar> Repository > Repository settings > Security选项卡中,启用复选框:为提交启用GPG密钥签名

相关问题