macOS 安装 GnuPG 并配置 Git 提交签名

记录 GnuPG 安装与 Git 提交签名配置;旧安装包解包流程需按版本复核。

旧安装包的 Payload 格式与 CPU 架构可能变化,请按所用版本核对手工解包流程。使用前核对下载包内容,并准备或导入属于自己的签名密钥。

获取GnuPG LTS版本

1
gnupg_version=`curl -fsSL https://sourceforge.net/p/gpgosx/docu/Download/ | grep -oE 'The latest LTS version of GnuPG for OS X is [^()[:space:]]+' | sed -E 's/The latest LTS version of GnuPG for OS X is //'`

下载GnuPG LTS

1
curl -fsSL "https://jaist.dl.sourceforge.net/project/gpgosx/GnuPG-${gnupg_version}.dmg" -o /tmp/GnuPG-${gnupg_version}.dmg

挂载dmg文件

1
hdiutil attach "/tmp/GnuPG-${gnupg_version}.dmg" -noverify -mountpoint /Volumes/GnuPG

解压安装文件到临时目录

1
mkdir -p /tmp/GnuPG/gnupg-2.2 && xar -xf /Volumes/GnuPG/Install.pkg -C /tmp/GnuPG && cd /tmp/GnuPG/gnupg-2.2 && cat /tmp/GnuPG/GnuPG.pkg/Payload | cpio -i && cd

安装GnuPG到/usr/local目录

1
sudo mv /tmp/GnuPG/gnupg-2.2 /usr/local/gnupg-2.2 && sudo mkdir -p /usr/local/bin && sudo ln -s /usr/local/gnupg-2.2/bin/gpg2 /usr/local/bin/gpg

查看已有签名密钥

1
gpg --list-secret-keys --keyid-format=long

配置Git签名

1
git config --global user.signingkey "YOUR_KEY_ID"

如果你只想当前仓库签名

1
git config commit.gpgsign true

如果所有仓库签名

1
git config --global commit.gpgsign true

关闭签名

下面的命令关闭当前仓库的自动签名。若需要关闭全局自动签名,使用 git config --global commit.gpgsign false:

1
git config commit.gpgsign false

延伸阅读

Licensed under CC BY-NC-SA 4.0
最后更新于 2026-10-10
使用 Hugo 构建
主题 Stack 由 Jimmy 设计