前言
前陣子在 GitHub 上,偶然看到同事的 commit 後面有綠色的 Verified 標示,我的卻沒有。
有那個 Verified 標示看起來就比較厲害,j我也想要有!
搜尋一下,原來是需要透過 GPG 簽署才有這個功能,我目前使用的 SSH 不支援,因此,需要更換簽署。
其實 GitHub 的官網文件已經寫得很完整了,下方就是翻譯以及節錄重點。
開始更換
安裝 GPG
到 GnuPG’s Download page 下載,根據你的作業系統選擇。我是下載 GnuPG binary releases 下方的 Gpg4win (Windows)。
檢查已存在的 GPG keys
- 打開 Git Bash。注意: 使用 VSCode 的 powershell 會找不到 GPG 工具哦
- 檢查已經存在的 public and private key
gpg --list-secret-keys --keyid-format=long
產生 GPG key
打開 Git Bash
產生 GPG key pair
gpg --full-generate-key
根據顯示的內容回答,或是按 ‘enter’ 接收預設值設定
輸入你的 ID,記得 email 要填寫跟 GitHub 相同的 email
輸入安全密碼
列出剛才產生的 Key
gpg --list-secret-keys --keyid-format=long
你會看到類似下方結果,
3AA5C34371567BD2
就是此範例的 key ID 囉$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
將下面的範例 ID 替換成你的
gpg --armor --export 3AA5C34371567BD2 # Prints the GPG key ID, in ASCII armor format
複製 GPG key,從
-----BEGIN PGP PUBLIC KEY BLOCK-----
一直複製到-----END PGP PUBLIC KEY BLOCK-----
將此 GPG key 加入到你的 GitHub 帳號
加入 GPG Key
- 點擊個人頭像,進入 Settings
- click SSH and GPG keys
- click New GPG key.
- 將剛剛的複製的 Key 貼上
- 完成
備註: 此動作需要 2FA
向 Git 通知你的 GPG key
- 打開 Git Bash
- 如果你之前有使用不同的金鑰格式,需要取消
git config --global --unset gpg.format
- 向 Git 設定你的主要 GPG signing key。
3AA5C34371567BD2
為範例 IDgit config --global user.signingkey 3AA5C34371567BD2
以上,就完成 GPG 註冊啦。趕快開一個 Repo 測試看看吧。
小插曲
我在第一次設定完後,並沒有成功看到綠色的 Verified,於是又重頭回去檢查前面哪些步驟出錯。
後來發現是我的 git config
設定,user.email
是我個人的 email,又來修改成公司的 email 後,就成功出現 Verified 啦!