gitですべてのコミットに自動的に署名する[終了]


8

git 1.7.9では、-Sオプションを使用してコミットに署名することができます。それをデフォルトに設定することは可能git config --globalですか?

だからではなくgit commit -S -m 'Commit message'、それだけgit commit -m 'Commit message'です。


2
new gitでcommit.gpgsign=true設定可能です。
Vi。

回答:


4

将来のすべての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

3
-s「承認者」フィールドをコミットに追加します。 -S実際、PGPはコミットに署名します。これはgit 1.7.9で追加されました。また、これはすべてのコミットに署名するのではなく、ユーザーがgit cコマンドを直接使用して作成したコミットにのみ署名します。リベースでは、新しいコミットが作成されても、インタラクティブなリベースを行ってすべての変更を手動でコミットしない限り、コミットはサインオフ(またはPGP署名)されません。
Patrick Niedzielski、

コミットの署名の詳細については、ここを参照してください:phreaknerd.wordpress.com/2012/02/09/…たとえば
Patrick Niedzielski
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.