macOS に向けて書いてますがLinux でもやることは殆ど変わりません。
必要なライブラリをインストール
brew install gnupg gpg-agent pinentry-mac
PATH を追加
~/.zshenv
typeset -U path PATH
path=(
/usr/local/opt/gnupg/libexec/gpgbin(N-/)
$path
)
GPG 署名を作成する
$ gpg --gen-key
gitに署名を設定する
$ gpg --list-secret-keys --keyid-format LONG
/Users/ress/.gnupg/secring.gpg
------------------------------
sec 4096R/XXXXXXXXXXXXXXXX 2016-10-11
uid Aoi Tachibana (ress997) <39e@users.noreply.github.com>
ssb 4096R/YYYYYYYYYYYYYYYY 2016-10-11
上の中の XXXXXXXXXXXXXXXX
という部分が署名のIDです。これを以下のコマンドで gitconfig に追加します。
$ git config --global user.signingkey XXXXXXXXXXXXXXXX
次に、gpg
コマンドのパスを以下のコマンドで設定します。
$ git config --global gpg.program $(which gpg)
最後に、以下のコマンドで自動的に署名付きでコミットするように設定します。
$ git config --global commit.gpgsign true
GitHub に署名の公開鍵を登録
以下のコマンドで公開鍵を取得してください。
$ gpg --armor --export $(git config --get user.signingkey) | pbcopy
取得した公開鍵をコピーして下記のURLにアクセスし登録します。