旧安装包的 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
|
延伸阅读