Antworten:
Ab v2.1.0
Magit wird die Bibliothek verwendet magit-popup.el
, um solche "Popup-Puffer" oder "Präfix-Infix-Suffix-Combos" zu implementieren. Trotz des Namens kann diese Bibliothek von Paketen verwendet werden, die nicht mit Magit verwandt sind, und wird daher als separates Elpa-Paket zur Verfügung gestellt. Es hat jetzt sogar ein eigenes Handbuch !
Standardargumente können jetzt direkt aus einem Popup-Puffer gesetzt werden. Gehen Sie wie folgt vor, um --verbose
beim Festschreiben immer Folgendes zu verwenden:
--verbose
magit-commit-arguments
)Standardmäßig enden alle Popup-Puffer mit einem Abschnitt mit dem Namen "Allgemeine Befehle". Wenn nicht, C-tzeigen Sie es mit. Sie wahrscheinlich nicht wollen , dass der Abschnitt die ganze Zeit sehen und deshalb setzen sollte magit-popup-show-common-commands
zu nil
.
Natürlich ist es auch möglich, den Wert magit-commit-arguments
und andere solche Variablen über die Benutzeroberfläche setq
, oder einzustellen add-to-list
. Aber ich empfehle dagegen, weil das es unmöglich machen würde, die Standardeinstellungen on-the-fly zu ändern.
Soweit ich weiß, verfolgt Magit die "Standard" -Optionen nicht, aber wir können sie-v
jedes Mal "drücken ", wenn der Committing-Puffer auftaucht:
(advice-add #'magit-key-mode-popup-committing :after
(lambda ()
(magit-key-mode-toggle-option (quote committing) "--verbose")))
Um herauszufinden, welche Funktion zu empfehlen ist, habe ich einen magic-status
Puffer geöffnet und gedrückt C-h k c
. Das hat mich dazu geführt magit-key-mode-popup-committing
. Dann (mit dem noch angezeigten Committing-Puffer) habe ich gedrückt C-h k -v
, um das lambda
Formular zu finden, das Magit aufruft, wenn Sie-v
im Committing-Fenster drücken .
Update: Ich habe diese Antwort unabhängig geschrieben, aber siehe Kann ich die git-log "--all" -Option anfänglich auswählen? , die dort gegebene Antwort und Kommentare zu dieser Antwort.
Setzen Sie in den Magit-Versionen, die transient verwenden (nach Februar 2019 oder so), das Flag und speichern Sie dann, während Sie sich noch im transienten Puffer befinden.
Für das Festschreiben wäre die Tastenfolge also ungefähr so
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
Wenn danach das nächste Mal ein Commit aufgerufen wird, wird die Ausführlichkeit weiterhin festgelegt. (Sie müssen das Festschreiben nicht abschließen und können es nach dem Speichern mit beenden C-x C-s
.)
Der aktuelle Standard wird in einem transient/
Verzeichnis in gespeichert .emacs.d/
.
Weitere Informationen finden Sie im Handbuch https://magit.vc/manual/transient.html#Saving-Values
Es ist zwar nicht genau das, was Sie wollen (Unterschied in Ihrem Festschreibungspuffer), aber Sie können magit so einstellen, dass die bereitgestellten Unterschiede im Statusfenster erweitert werden :
(setq magit-expand-staged-on-commit 'full)
Der magit Workflow scheint immer offener Statuspuffer und dann offener Split mit Festschreibungspuffer zu sein. Am Ende werden immer zwei Puffer angezeigt. Die obige Einstellung bewirkt, dass der zweite (bisher nicht nützliche) Puffer Ihren Diff anzeigt.
Sie können auch verwenden, t
um nur die Diff-Header zu erweitern (damit die Zeilennummern angezeigt werden):
(setq magit-expand-staged-on-commit t)
Während Sie Ihr Diff schreiben, können Sie in TAB
den Statuspuffer wechseln und die Diffs erweitern (oder falten).
Alternativ können Sie C-c C-d
aus dem Festschreibungspuffer einen anderen Puffer mit einem Diff mit öffnen magit-diff-staged
. (Siehe diese Ausgabe .)
Ab magit
Version 2.1
können Sie dies in Ihrer Konfiguration verwenden:
;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))
--no-verify
ist auch nützlich, wenn Sie Projekte haben, die Git-Hooks verwenden (natürlich mit Vorsicht).