如何让Git在Mac上使用GPG Keychain进行提交签名?
解决Mac上Git无法使用GPG Keychain签名的问题
1. 让Git指向GPGTools的GPG程序
系统自带的gpg可能和GPGTools版本不兼容,需在Git配置里指定正确程序路径:
编辑~/.gitconfig,添加以下内容:
[gpg] program = /usr/local/MacGPG2/bin/gpg
2. 配置GPG Agent自动关联终端
确保GPG Keychain的代理能被Git调用,把以下内容添加到你的shell配置文件(~/.zshrc或~/.bash_profile):
export GPG_TTY=$(tty) if [ -f ~/.gnupg/gpg-agent.conf ]; then export GPG_AGENT_INFO=$(gpgconf --list-dirs agent-socket):$(gpgconf --list-dirs agent-extra-socket):1 fi
添加后执行source ~/.zshrc(或对应文件)使配置生效。
3. 确认密钥信任与匹配度
- 打开GPG Keychain,右键目标密钥,选择「更改信任」,将信任级别设为「终极信任」。
- 执行
gpg --list-secret-keys --keyid-format LONG,确认输出中的密钥邮箱与Git配置的user.email完全一致(注意大小写)。 - 若存在多个密钥,可在
~/.gitconfig中明确指定签名密钥:[user] signingkey = 你的密钥ID(输出中sec行的后16位字符)
4. 测试签名功能
执行echo "test" | gpg --clearsign,如果弹出GPG Keychain的密码输入框,说明代理正常工作;此时再尝试Git提交,应该就能自动调用GPG Keychain完成签名了。
内容的提问来源于stack exchange,提问作者Kalec
相关产品推荐
相关产品推荐

