为什么源树在我没有配置签名时会查找gpg密钥?

时间:2016-08-24 18:25:10

标签: git gnupg sourcetree

我在我的mac上下载了sourcetree app并添加了一个本地git repo。每当我尝试存储某些东西或提交某些内容时,sourcetree会抛出与gpg相关的错误。示例错误如下所示。

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree stash save test-stash 
/Applications/SourceTree.app/Contents/Resources/bin/gpg: line 2: gpg2: command not found
error: gpg failed to sign the data
Cannot save the current index state
Completed with errors, see above

我无法找出导致此错误的原因。据我记忆,我没有为任何类型的签名配置项目或sourcetree应用程序。

如果您可以帮助我解决此问题,那将是一个很好的帮助。

2 个答案:

答案 0 :(得分:2)

即使我尝试从命令行提交,它也会要求输入gpg密钥。

经过互联网搜索后,我找到了根本原因。这是由于其中一个dotfiles将check<GearParams::NUM_OF_TEETH>(); 中签名提交的全局配置设置为true。因此,我使用以下命令将配置设置为false。

~/.gitconfig

唷!这个问题现在解决了......

答案 1 :(得分:0)

经过几次尝试后,发现以下说明有助于: https://confluence.atlassian.com/sourcetreekb/setup-gpg-to-sign-commits-within-sourcetree-765397791.html

问题在于,使用全新的El Capitan和Source Tree安装,似乎不是gpg二进制文件。

上面的文章介绍了下载Mac GPG工具以及如何设置它的步骤。

关键是配置SourceTree以显式签署提交,否则,它会尝试使用系统git首选项,这会以某种方式创建另一个问题,如下所述:https://confluence.atlassian.com/sourcetreekb/sourcetree-commits-fail-when-using-git-signed-commits-794199810.html