W tej chwili zamiast naciskać tylko cc w trybie magit, muszę naciskać za c-vckaż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-vckażdym razem, aby włączyć --verbose.
Czy można włączyć to domyślnie?
Odpowiedzi:
Począwszy od v2.1.0Magit używa biblioteki magit-popup.eldo 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ć --verbosepodczas zatwierdzania, wykonaj następujące czynności:
--verbosemagit-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-argumentsi 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-statusbufor 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 -vznaleźć lambdaformularza połączeń MAGIT kiedy ty naciśnięciu -vw 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ć, taby 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 TABdo rozszerzenia (lub złożenia) różnic.
Alternatywnie możesz użyć C-c C-dbufora zatwierdzania, aby otworzyć inny bufor z różnicą magit-diff-staged. (Zobacz ten problem .)
Od magitwersji 2.1możesz użyć tego w swojej konfiguracji:
;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))
--no-verifyjest przydatne, gdy masz projekty, które używają haczyków git (używaj oczywiście z ostrożnością).