git commit -S / tag -s
安全署名付きコミット
git commit -S -m '<msg>'
GPG/SSH鍵でコミット・タグへ署名し、改ざん不能な作者証明を付ける。ホスティング上のVerifiedバッジの正体。
実行例
git config --global gpg.format ssh && git config --global user.signingkey ~/.ssh/id_ed25519.pubSSH鍵で署名する設定git config --global commit.gpgsign trueすべてのコミットに自動で署名するgit log --show-signature -1直前のコミットの署名を検証git tag -s v1.0 -m "release 1.0" git tag -v v1.0署名付きタグを作って検証git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signersSSH 署名を手元で検証するときに必要な設定
書式
git commit -S / git tag -s / git config commit.gpgsign true
押さえておくこと
- GitHub や GitLab で Verified にするには、使った鍵を「署名用の鍵」としてアカウントに登録し、コミットのメールアドレスをアカウントのものと一致させます。
- SSH 鍵での署名は Git 2.34 以降で使えます。
- rebase や --amend で作り直したコミットは、署名もやり直しになります。
うまくいかないとき
- error: gpg failed to sign the data は、GPG がパスフレーズを聞けないときに出ます。export GPG_TTY=$(tty) を設定します。
実行前の注意
署名の付与のみ。
関連コマンド
- gpgファイル暗号化・署名検証
- git configGit設定
- git tagタグ付け
圏外の現場でも同じ内容が引けます
このサイトの全コマンドを端末の中に。アプリ版はさらに632件を加えた1,510コマンドと、120の対処フローを収録しています。通信なしで検索できます。インストール無料・広告なし(一部は買い切り)。
App Storeで無料インストール