magitでコミットに自動的に署名する方法は?


13

GPGキーで各コミットに署名することに興味があります。私はgitとのインターフェースにmagitを使用しているため、各コミットに署名するようにmagitに指示することは可能かどうか疑問に思っていました(または、少なくともこれを達成するための回避策は実行可能でした)。


Gitはコミット署名もサポートしていますか?タグしか署名できないと思った…
lunaryorn

1
@lunaryorn git commit -S[<keyid>], --gpg-sign[=<keyid>]。各コミットに署名する理由は少なくとも1つあります。コミットが行われたと思われる人からコミットされたことをより強力に証明するためです。タグに署名すると、履歴の変更のみを検出できます。
Nsukami _

@Nsukami_Thatは私の質問に答えませんでしたか?
lunaryorn

@lunaryorn質問に答えられない場合は申し訳ありません。はい、Gitのサポートが署名コミット
Nsukami _

回答:


20

Magitでは、コミットポップアップ(c)を使用してコミットが作成されます。したがって、そのポップアップはgpgサポートを探し始めるのに適した場所です。それを行う場合、これを見つけるでしょう:

=S Sign using gpg (--gpg-sign=)

= Sキーを入力して選択します。コミットを作成するたびにこれを行う必要がないようにするには、を使用してその引数(および現在設定されている他のすべての引数)の値を保存できますC-x C-s

それでもパスフレーズを毎回入力する必要がある場合があります。これを避けるには、gpg-agentを起動し、keychainシェルスクリプトやkeychain-environmentEmacsパッケージなどを使用して、Emacsがそれを認識していることを確認してください。

また--show-signature、ロギングポップアップで引数を参照して設定します。


これは変更されましたtransientか?
-tejasbubane

1
この引数はデフォルトで非表示になりました。一時的なアナウンスでは、「レベル」を変更して表示する方法を説明しています。
ターシウス


@tarsiusレベルを変更できないようです。それをどのように設定しますか?ありがとうございました。
e18r

tejasbubaneがリンクしているドキュメントのどの部分が不明ですか?
タジウス

15

あなた$HOME/.gitconfigまたはあなたのこれを試してください.git/config

[user]
    email = YourEmail
    name = YourName
    signingkey = XXXXXXXX
[commit]
    gpgsign = true

その後、通常どおりコミットします。


この回答には、リポジトリごとにキーを設定できるという利点があります。magitの=Sオプションはキーをに設定している$HOME/.gitconfigようで、すべてのリポジトリで同じです。
ph0t0nix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.