W tej chwili zamiast naciskać tylko cc
w trybie magit, muszę naciskać za c-vc
każdym razem, aby włączyć --verbose
.
Czy można włączyć to domyślnie?
W tej chwili zamiast naciskać tylko cc
w trybie magit, muszę naciskać za c-vc
każdym razem, aby włączyć --verbose
.
Czy można włączyć to domyślnie?
Odpowiedzi:
Począwszy od v2.1.0
Magit używa biblioteki magit-popup.el
do implementacji takich „buforów podręcznych” lub „kombinacji przedrostek-infix-przyrostek”. Mimo swojej nazwy, biblioteka ta może być używana przez pakiety niezwiązane z Magit, dlatego jest udostępniana jako osobny pakiet Elpa. Ma nawet swoje własną instrukcję !
Domyślne argumenty można teraz ustawić bezpośrednio z bufora podręcznego. Aby zawsze używać --verbose
podczas zatwierdzania, wykonaj następujące czynności:
--verbose
magit-commit-arguments
)Domyślnie wszystkie bufory podręczne kończą się sekcją o nazwie „Typowe polecenia”. Jeśli nie, użyj, C-taby to pokazać. Prawdopodobnie nie chcesz cały czas widzieć tej sekcji i dlatego powinieneś ją ustawićmagit-popup-show-common-commands
się nil
.
Oczywiście możliwe jest również ustawienie wartości magit-commit-arguments
i innych takich zmiennych za pomocą interfejsu niestandardowego setq
, lub add-to-list
. Ale odradzam to, ponieważ uniemożliwiłoby to zmianę ustawień domyślnych w locie.
O ile wiem, Magit nie śledzi „domyślnych” opcji, ale możemy sprawić, że „naciska -v
” za każdym razem, gdy pojawia się bufor zatwierdzania:
(advice-add #'magit-key-mode-popup-committing :after
(lambda ()
(magit-key-mode-toggle-option (quote committing) "--verbose")))
Aby znaleźć zalecaną funkcję, otworzyłem magic-status
bufor i nacisnąłem C-h k c
. Doprowadziło mnie to do magit-key-mode-popup-committing
. Następnie (buforem popełnienie nadal wyświetlany) Nacisnąłem C-h k -v
znaleźć lambda
formularza połączeń MAGIT kiedy ty naciśnięciu -v
w oknie popełnienie.
Aktualizacja: Napisałem tę odpowiedź niezależnie, ale patrz: Czy mogę wstępnie wybrać opcję „--all” git-log? , udzieloną tam odpowiedź i komentarze do tej odpowiedzi.
W wersjach magit, które używają przejściowych (po około lutym 2019 r.), Ustaw flagę, a następnie zapisz, wciąż będąc w buforze przejściowym.
Tak więc dla zatwierdzenia sekwencja klawiszy byłaby podobna
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
Następnie, przy następnym wywołaniu zatwierdzenia, szczegółowe ustawienie będzie nadal ustawione. (Nie musisz dokończyć zatwierdzenia i możesz wyjść po zapisaniu za pomocąC-x C-s
.)
Rzeczywiste wartości domyślne są zapisywane w transient/
katalogu w .emacs.d/
.
Zobacz instrukcję przejściową https://magit.vc/manual/transient.html#Saving-Values
Chociaż nie jest to dokładnie to, czego chcesz (różnicę w buforze zatwierdzania), możesz ustawić magit, aby rozwijał różnice stopniowe w stanie oknie :
(setq magit-expand-staged-on-commit 'full)
Przepływ pracy magit zawsze wydaje się być otwartym buforem stanu, a następnie otwartym dzieleniem z buforem zatwierdzania, zawsze wyświetlane są dwa bufory. Powyższe ustawienie spowoduje, że drugi (wcześniej nieużyteczny) bufor wyświetli różnicę.
Możesz także użyć, t
aby rozwinąć tylko nagłówki różnic (więc pokazuje numery linii):
(setq magit-expand-staged-on-commit t)
Podczas pisania pliku różnic możesz przejść do bufora stanu i użyć go TAB
do rozszerzenia (lub złożenia) różnic.
Alternatywnie możesz użyć C-c C-d
bufora zatwierdzania, aby otworzyć inny bufor z różnicą magit-diff-staged
. (Zobacz ten problem .)
Od magit
wersji 2.1
możesz użyć tego w swojej konfiguracji:
;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))
--no-verify
jest przydatne, gdy masz projekty, które używają haczyków git (używaj oczywiście z ostrożnością).