GnuPG (簡稱 GPG),允許作者對資料與通信進行加密與簽章。你可以在本地端使用 GPG 對 Commit 與 Tag 進行簽章,再推送(Push) 至 GitHub 時,GitHub 會以公開金鑰進行驗證,確認變更來源,讓其他人確信這次的變更來源是可以信任的。






產生 GPG Key pair 並上傳 public key 至 GitHub

點選開始 > 輸入 Git Bash > 開啟 Git Bash (需要安裝 Git,請自行安裝,這裡不在贅述)





輸入指令 gpg --full-generate-key,並依序輸入(如下圖所示)

選項 1: 1 (RSA and RSA)

選項 2: 4096

選項 3: 直接 Enter (使用預設0)

選項 4: Y






輸入你的 ID 與信箱,Comment 可以留空白,最後選擇 O





輸入你的金鑰密碼2次 (第二次為確認密碼)





輸入指令 gpg --list-keys --keyid-format LONG,列出安裝於本機的金鑰組合





輸入指令 gpg --armor --export [上途中紅色線部分] | clip,即可複製公開金鑰





點選右上角個人頭像旁的下拉選單 > Settings





左邊選單找到 SSH and GPG keys,點選 New GPG Key





9.貼上公開金鑰,點選 Add GPG key,即完成設定







Sign Commit

在 local 端以命令列開啟專案位置,輸入 git config commit.gpgsign true,並且輸入 git config --global gpg.program "C:\Program Files\Git\usr\bin\gpg.exe" 設定 gpg 位置





簡單程式做一些變更後,commit/push 你的程式,回到你的 Repo,點選剛剛更新的 commit





可以看見 Commit 多了 Verified 標註





參考資料

1.GnuPG