概述
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效果如下: