Contents

GPG window 路徑與 Git 設定簽章方法

之前使用 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
https://i.imgur.com/qWXsJMM.png

匯出簽章私鑰和公鑰
https://i.imgur.com/VyuUFYg.png

相關指令

參考:
[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
3
git config --global commit.gpgsign 
git config --global gpg.program 
git config --global user.signingkey

Git Bash、Git Fork 都能正常簽章 commit了。

GIT 設定簽章

因為 git diff 設定壞掉,我腦根筋不對,把gitconfig 刪掉,結果一些設定都要重新用。

1
2
git config --global commit.gpgsign true
git config --global user.signingkey