gitで署名付きコミット(windowsでGPG設定をする)
今回のはまりポイントとしては、
ubuntuではECC設定ができない、windows power shellのみできる- sourcetreeでは、ECC設定ができない(現在macのみできるとの事)
結果としては、
windows power shellで設定してdefaultでGPG設定をしていれば、
sourcetreeでpushした際にも反映されます。
下記がすごい参考になります。
Gpg4win のインストール
git config --global -e
でgit configを編集し
signingkey = にGPGで設定したkeyを入れる。
signingkeyは下記コマンドで確認できる。
--list-secret-keys
コマンドを実行すると下記のような感じの項目が表示される。
C:\Users\ユーザー名\AppData\Roaming\gnupg\pubring.kbx
------------------------------------------------
sec ed26519 2022-02-09 [SC]
FD2BBBCghjkiuhjkiuyghjkiuhjkugbnjkuhBC715
uid [ultimate] 設定した名前
ssb cv26519 2022-02-09 [E]
今回は下記のようになった。
[user]
name = 設定した名前
email = 設定したメール
signingkey = FD2BBBCghjkiuhjkiuyghjkiuhjkugbnjkuhBC715(GPGで設定したkey)
[credential]
helper = !'C:\\Users\\ユーザー名\\AppData\\Roaming\\GitCredStore\\git-credential-AWSSV4.exe' --profile=codecommit
UseHttpPath = true
[difftool "sourcetree"]
cmd = '' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
cmd = "'' "
trustExitCode = true
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[commit]
gpgsign = true
[gpg]
program = C:\\Program Files (x86)\\GnuPG\\bin\\gpg.exe
[core]
quotepath = false
ubuntuでもECC設定できたので鍵の作成方法
以前の設定のタイミングではうまくいかなかったのですが、2022/4/15現在で設定したらうまくいきました。
まずはgpgのインストール
sudo apt install gnupg
gpgで鍵の作成
gpg --gen-key
gpg --expert --full-gen-key
参考
https://gist.github.com/hatsusato/1d5f0267bc9d02bb24c60bd7acc5a59a
.gitconfigに設定の追加