Прямо сейчас, вместо нажатия только cc
в режиме magit, я должен нажимать c-vc
каждый раз, чтобы включить --verbose
.
Возможно ли сделать его включенным по умолчанию?
Начиная с v2.1.0
Magit использует библиотеку magit-popup.el
для реализации таких «всплывающих буферов» или «комбинаций префикса-инфикса-суффикса». Несмотря на свое название, эта библиотека может использоваться пакетами, не связанными с Magit, и поэтому предоставляется в виде отдельного пакета Elpa. У него даже есть собственное руководство !
Параметры по умолчанию теперь могут быть установлены непосредственно из всплывающего буфера. Чтобы всегда использовать --verbose
при совершении сделайте это:
--verbose
magit-commit-arguments
)По умолчанию все всплывающие буферы заканчиваются разделом «Общие команды». Если нет, используйте, C-tчтобы показать это. Вы, вероятно, не хотите видеть этот раздел все время и поэтому должны установить magit-popup-show-common-commands
на nil
.
Конечно, также можно установить значение magit-commit-arguments
и других таких переменных с помощью пользовательского интерфейса setq
, или add-to-list
. Но я рекомендую против этого, потому что это сделало бы невозможным изменение настроек по умолчанию на лету.
Насколько я могу судить, Magit не отслеживает параметры «по умолчанию», но мы можем заставить его «нажимать -v
» каждый раз, когда выскакивает буфер Committing:
(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»? , ответ дан там, и комментарии к этому ответу.
В версиях magit, в которых используется переходный процесс (после февраля 2019 г. или около того), установите флаг, а затем сохраните, находясь в буфере переходного процесса.
Так что для коммита последовательность клавиш будет что-то вроде
После этого, в следующий раз, когда будет зафиксирован коммит, будет установлен подробный текст. (Вам не нужно завершать фиксацию, и вы можете выйти после сохранения с помощью
C-x C-s
.)Фактическое значение по умолчанию сохраняется в
transient/
каталоге в.emacs.d/
.См. Временное руководство https://magit.vc/manual/transient.html#Saving-Values
источник
Хотя это не совсем то, что вы хотите (diff в вашем буфере коммитов), вы можете установить magit, чтобы расширить ступенчатые различия в окне состояния :
Кажется, что рабочий процесс magit всегда является открытым буфером состояния, а затем открытым разделением с помощью буфера фиксации, в результате всегда отображаются два буфера. Приведенная выше настройка заставит второй (ранее бесполезный) буфер отображать ваши различия.
Вы также можете использовать
t
только для расширения заголовков diff (поэтому он показывает номера строк):Во время записи
TAB
различий вы можете переключиться в буфер состояния и использовать его для расширения (или сворачивания) различий.В качестве альтернативы, вы можете использовать
C-c C-d
из буфера фиксации, чтобы открыть другой буфер с помощью diffmagit-diff-staged
. (Смотрите эту проблему .)источник
Начиная с
magit
версии2.1
, вы можете использовать это в вашей конфигурации:источник
--no-verify
полезна, когда у вас есть проекты, в которых используются git-хуки (очевидно, используйте с осторожностью).