回答:
将来のすべてのgitコミットに自動的に署名するには、グローバルエイリアスを定義できます。たとえば、「c」というグローバルエイリアスを作成するには、次のようにします。
$ git config --global alias.c 'commit -s'
(サインオフのコミットスイッチは小文字の「-s」であり、質問に入力した大文字の「-S」ではないことに注意してください)。
これを行った後、新しく作成した「c」エイリアスを使用してコミットを開始できます。これは、コミッターによってサインオフされる「test.txt」というファイルを作成してコミットする例です。
$ vim test.txt
[edit file]
$ git add test.txt
$ git c -m 'My commit message'
--pretty=fuller
オプションを指定して「git log」コマンドを実行すると、コミットに「Signed-off-by:」行があることがわかります。
$ git log --pretty=fuller
-s
「承認者」フィールドをコミットに追加します。 -S
実際、PGPはコミットに署名します。これはgit 1.7.9で追加されました。また、これはすべてのコミットに署名するのではなく、ユーザーがgit c
コマンドを直接使用して作成したコミットにのみ署名します。リベースでは、新しいコミットが作成されても、インタラクティブなリベースを行ってすべての変更を手動でコミットしない限り、コミットはサインオフ(またはPGP署名)されません。
commit.gpgsign=true
設定可能です。