コミット実行時、PGP署名を行う
リベースで生成される「コミットオブジェクト」にPGP署名を行います。PGP署名を指定するコマンドのオプションについて
PGP署名を指定するコマンドのオプションは、以下のオプションを指定します。ショートオプション | ロングオプション | オプションの値 |
---|---|---|
-S | --gpg-sign | 秘密鍵を特定する情報 |
秘密鍵を特定する情報
秘密鍵を特定する情報を指定します。例えば、以下の情報が指定できます。
- 秘密鍵の所有者の名前
- 秘密鍵の所有者のメールアドレス
- 秘密鍵の鍵ID
-Sオプションの利用について
「-S」オプションを利用して秘密鍵を指定する時は、オプションとオプションの値の間にスペースを入れず、詰めて記述してください。例えば、以下のような記述方法になります。
git rebase --verbose -Skledgeb@kledgeb.com master
オプションの値を省略した場合
オプションの値は省略することができます。オプションの値を省略した場合は、以下の設定を元に秘密鍵を特定します。
- user.name
- user.email
- user.signingKey
PGP署名に使用する秘密鍵について
ここでは例として、以下の秘密鍵を使用して署名を行います。1.署名に使用する秘密鍵
署名に使用する秘密鍵は、自分の環境で作成した以下の秘密鍵を使用します。2.秘密鍵のプロパティー
秘密鍵のプロパティーは、以下のようになっています。コマンドの実行例
コマンドの実行例です。1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「fix」ブランチであることが分かります。
同様に、「HEAD」は「fix」ブランチを指していることが分かります。
ここでは例として、「fix」ブランチを「master」ブランチにリベースし、「mastsr」ブランチに「fix」ブランチの変更内容を結合します。
2.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。「fix」ブランチを「master」ブランチにリベースするため、リベース対象の「コミットオブジェクト」は、以下のようになります。
- Commit4
- Commit5
3.コマンドの実行
コマンドのオプションは、上記を参考にしてください。「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ファイルの変更内容を異なるブランチに結合するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git rebase --verbose --gpg-sign=kledgeb master
4.パスフレーズの入力
秘密鍵のロックを解除するため、秘密鍵のパスフレーズを入力し、「ロック解除」ボタンをクリックします。5.コマンドの実行
以下のように、リベース結果が表示されます。6.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。「fix」ブランチが指す「コミットオブジェクト」の識別子が、「1.」と異なっています。
7.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。「Commit4」の変更内容を元に、「Commit4’」が新規に生成されています。
同様に「Commit5」の変更内容を元に、「Commit5’」が新規に生成されています。
「Commit4」と「Commit5」は、いずれも削除されています。
8.署名の確認
「端末」から以下のコマンドを実行し、「コミットオブジェクト」の署名を確認します。
git show --no-patch --format='%GG' HEAD HEAD^
以下のように署名の情報が表示されます。
以上でリベースは完了です。