获取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 -K |
配置Git签名
1 | git config --global user.signingkey <key> |
如果你只想当前仓库签名
1 | git config commit.gpgsign true |
如果所有仓库签名
1 | git config --global commit.gpgsign true |
关闭签名
1 | git config commit.gpgsign false |