我在我的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应用程序。
如果您可以帮助我解决此问题,那将是一个很好的帮助。
答案 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