[git]使用GPG签名你的commit
概述
GPG是一种加密算法,现在github支持commit使用GPG加密,从而保证提交的commit在传输的过程中没有被篡改。
一、生成GPG密钥
什么是GPG:阮一峰的GPG教程
安装GPG:
brew install GPG
生成GPG key:
gpg --gen-key
,根据提示,生成GPG key,注意:确保邮箱的那项是你github账号认证的邮箱;还有记住输入的密码。查看GPG key:
gpg --list-keys
,如下图:
注意:sub:私钥;pub:公钥;黄色的才是GPG key ID获取公钥:
gpg --armor --export pub GPG key ID
二、github设置GPG key
- 拷贝上面得到的公钥到github账号中,注意:格式如:开头:
-----BEGIN PGP PUBLIC KEY BLOCK-----
,结尾:-----END PGP PUBLIC KEY BLOCK-----
。请参考把GPG key 加到你的github帐号
三、配置git
通过:
gpg --list-keys
查看pub GPG key ID,然后设置git签名时用的key:git config --global user.signingkey pub GPG key ID
开启GPG签名commit:
git config commit.gpgsign true
;关闭:git config commit.gpgsign false
如果你想让所有的本地仓库都使用GPG签名:
git config --global commit.gpgsign true
四、效果
和正常的提交commit的区别,在开启commit使用GPG加密后,提交commit时,如下图:
push到github效果如下: