magit commit画面でデフォルトで `--verbose`フラグを有効にするにはどうすればよいですか?


16

現在、単にccgit-mode で押すのではなく、c-vcを有効にするために毎回押す必要があり--verboseます。

デフォルトで有効にすることは可能ですか?

回答:


17

以降でv2.1.0、Magitは、ライブラリを使用してmagit-popup.el、このような「ポップアップ・バッファ」または「プリフィックス-インフィックス-サフィックスコンボ」を実装します。その名前にもかかわらず、そのライブラリはMagitに関係のないパッケージで使用できるため、別のElpaパッケージとして利用可能になります。今では独自のマニュアルさえあります!

デフォルトの引数は、ポップアップバッファから直接設定できるようになりました。これを--verboseコミットするときに常に使用するには:

  1. c コミットポップアップを表示する
  2. - v オンにする --verbose
  3. C-x C-s現在設定されている引数をデフォルトとして保存します(カスタムオプションmagit-commit-arguments

デフォルトでは、すべてのポップアップバッファは「Common Commands」という名前のセクションで終わります。そうでない場合は、を使用C-tして表示します。おそらくそのセクションを常に見たくないので、に設定magit-popup-show-common-commandsする必要がありますnil

もちろんmagit-commit-arguments、カスタムインターフェイスsetq、またはを使用して、などの変数の値を設定することもできますadd-to-list。しかし、これをお勧めします。なぜなら、その場でデフォルトを変更することができなくなるからです。


7

私が知る限り、Magitは「デフォルト」オプションを追跡しませんが、コミットバッファーがポップアップするたび「押す-v」ようにすることができます。

(advice-add #'magit-key-mode-popup-committing :after
            (lambda ()
              (magit-key-mode-toggle-option (quote committing) "--verbose")))

アドバイスする機能を見つけるために、magic-statusバッファーを開いてを押しましたC-h k c。これは私を導きましたmagit-key-mode-popup-committing。次に(コミットバッファーが表示されたまま)を押しC-h k -vて、コミットウィンドウで押したlambdaときにMagitが呼び出すフォームを見つけました。-v

更新:この回答は個別に作成しましたが、git-logの「--all」オプションを最初に選択できますか?、そこに与えられた答え、およびその答えへのコメント。


1
それは面白い!また、これらの機能をどのように見つけたか説明してくれてありがとう:)
ドッグバート14年

@Dogbert:他の人がそれほど昔ではないデフォルトのgitオプションについて考えていることを知りたい場合は、更新された回答のリンクを参照してください。:
コンスタンティン14年

4

一時的(2019年2月以降)を使用するmagitのバージョンでは、フラグを設定し、一時的バッファー内にある間に保存します。

コミットの場合、キーシーケンスは次のようになります。

C-x g # start magit
s # to stage changes
c # start commiting
-v # enable verbose
C-x C-s # Save the setting persistently across sessions
c # do the actual commit

その後、次回コミットが呼び出されたときに、詳細が設定されます。(コミットを完了する必要はありませんC-x C-s。保存して終了できます。)

実際のデフォルトはのtransient/ディレクトリに保存され.emacs.d/ます。

一時的なマニュアルhttps://magit.vc/manual/transient.html#Saving-Valuesをご覧ください


0

希望するものではありませんが(コミットバッファーの差分)、ステータスウィンドウでステージされた差分を展開するようにmagitを設定できます。

(setq magit-expand-staged-on-commit 'full)

magitのワークフローは常にステータスバッファを開いているように見え、その後コミットバッファでスプリットを開くと、常に2つのバッファが表示されます。上記の設定により、2番目の(以前は役に立たなかった)バッファーに差分が表示されます。

またt、diffヘッダーのみを展開するために使用できます(したがって、行番号が表示されます)。

(setq magit-expand-staged-on-commit t)

差分の書き込み中に、ステータスバッファに切り替えてTAB、差分の展開(または折りたたみ)に使用できます。


または、C-c C-dコミットバッファーからを使用して、diffで別のバッファーを開くことができますmagit-diff-staged。(この問題を参照してください。)


0

magitversionの時点で2.1、設定でこれを使用できます。

;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))

あなたはそれをするべきではありません。私の答えをご覧ください。
タシウス

@tarsius有効なポイントがあります。私のユースケースは、複数のコンピューター間でドットファイルを同期することです。デフォルトを設定すると、すべてのコンピューターでデフォルトになります。変更したい場合は、設定で変更するだけで、すべてのコンピューターで同期されます。
Maiku森

1
ああ、それは私の設定を文書化するのを難しくするので、カスタムオプションを使用しません。すべてを明示的に設定することを好みます。
森舞

また、--no-verifygitフックを使用するプロジェクトがある場合、設定は便利です(明らかに注意して使用してください)。
-Droogans
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.