如何在Xcode源代码控制中使用GPG签名?

时间:2016-09-06 13:59:48

标签: xcode git version-control

每当我尝试提交文件时,都会收到以下错误消息:

  

gpg:无法打开`/ dev / tty':设备未配置
  错误:gpg无法签署数据
  致命:未能写入提交对象

糟糕!这是因为我为git启用了GPG签名。

是否可以将GPG签名与Xcode存储库一起使用?

这不是一个大问题,因为它很容易禁用GPG签名(git config commit.gpgsign true),但这是一个相当不错的识别标准。

2 个答案:

答案 0 :(得分:3)

这里的问题是默认的pinentry(密码对话框)基于终端,并且当您使用Xcode时,未在连接终端的情况下调用Git。因此,GnuPG无法提示您输入密码。

处理此问题的最简单方法是使用brew install pinentry-mac安装Mac pinentry。然后,您可以用~/.gnupg/gpg-agent.conf更新pinentry-program /usr/local/bin/pinentry-mac。您可能需要终止所有正在运行的gpg-agent进程,以便它们采用新的配置。

GitHub Gist中提供了有关如何执行此操作的相当详尽的文档。

答案 1 :(得分:1)

  

是否可以将GPG签名与Xcode存储库一起使用?

不,Xcode不支持此功能。

但是," Xcode存储库"只是一个普通的git存储库。如果您确实想要使用GPG签名,请在命令提示符下执行所有提交,合并等。