之前使用 GitKrakn GIT 簽章(PGP) | 程式狂想筆記有紀錄怎麼在GUI(Window)模式快速使用 GPG 簽章,但我最近對 GitKrakn pull幫我做 stash 感到厭煩,所以有找解決方法。GitKraken : how to stop stash before pull ? : git裡面有提到換工具或下指令,所以我只能跟 GitKrakn 說掰掰。
之前家GPG簽章,原本 Git Bash commit 都會失敗,最近換成 Git-Fork 會失敗,還是得面對人生趕快找問題。簡單說Git bash 不走 window 環境上的GPG,所以會沒吃到,所以要把 Window 上的GPG(公鑰、私鑰)匯出到 Git Bash 上就可以正常 commit。
排除方法
gpg –list-secret-keys
路徑預設C:/Users/User/AppData/Roaming/gnupg/pubring.kbx
匯出簽章私鑰和公鑰
相關指令
參考:
[GnuPG] gpg 金鑰管理 · Hello, World!
如何使用 GPG (GnuPG) 對 Git Commit 與 Tag 進行簽章 | The Will Will Web
用 git bash 匯入 private key
1 | gpg --import xxxx.asc |
其他要注意的 Git相關設定,我的不知道為什麼有自動調好,Git Bash 金鑰匯入後,就能直接使用1
2
3git config --global commit.gpgsign
git config --global gpg.program
git config --global user.signingkey
Git Bash、Git Fork 都能正常簽章 commit了。
GIT 設定簽章
因為 git diff 設定壞掉,我腦根筋不對,把gitconfig 刪掉,結果一些設定都要重新用。
1 | git config --global commit.gpgsign true |