U dołu mojego edytora Emacs 23 zauważam, że Emacs zdaje sobie sprawę z tego, że pracuję w katalogu, który jest pod kontrolą wersji, czym jest ten system kontroli wersji i od jakiego działu aktualnie jestem. Całkiem fajne! Ale mówię, że jestem w gałęzi głównej i z linii poleceń robię git commit
, a następnie git checkout <branch>
. Emacs nadal pokazuje, że jestem w głównej gałęzi. Jak odświeżyć Emacsa tak, aby odzwierciedlał gałąź, w której aktualnie się znajduję, bez zamykania wszystkich moich buforów i restartowania?Jak mogę powiedzieć Emacsowi, że zmieniła się moja gałąź git?
Odpowiedz
M-xrevert-buffer
ale proponuję używać magit-mode
zarządzać repo git w Emacsa.
Dla przypomnienia, używam do związania revert-buffer
do F5:
(global-set-key [f5] 'revert-buffer)
Wielkie dzięki! Key-binding jest idealny na razie, ale później wygląda na to, że 'magit-mode' jest bardziej trwałym rozwiązaniem. – Houdini
@Houdini, aby uniknąć denerwującego potwierdzenia za każdym razem, gdy uderzysz * F5 *. Użyj '(global-set-key [f5] (lambda() (interaktywny) (revert-buffer zero t)))' –
Aby dodać odpowiedź Giordano, jeśli wiele plików, które są pod git, są otwarte. Następnie otwórz ibuffer (M-xibuffer
) oznaczyć bufory chcesz przeładować użyciu m a następnie E następnie (revert-buffer nil t)
.
Bez potrzeby eval - 'V' uruchamia' ibuffer-do-revert'. Oczywiście istnieje wiele sposobów oznaczania buforów en-masse w ibufferze, więc użyj 'C-h m' aby sprawdzić jego funkcje, jeśli nie jesteś tego obeznany. – phils
Ponadto, jeśli miksujesz ibuffer i kontrolę wersji, prawdopodobnie chcesz również sprawdzić [ibuffer-vc] (https://github.com/purcell/ibuffer-vc). – phils
Wielkie dzięki phils. W końcu zaczynam próbować używać mojego systemu kontroli wersji i edytora w połączeniu ze sobą, zamiast skakać z powrotem do wiersza poleceń dla poleceń 'git'. – Houdini
Możesz automatycznie przywrócić bufor, włączając globalny automatyczny tryb przywracania. Jeśli chcesz go włączyć, dodaj następujący kod do pliku konfiguracyjnego.
(global-auto-revert-mode 1)
(setq auto-revert-check-vc-info t)
Jeśli otworzysz zbyt wiele buforów, a Twoja maszyna jest gorąca, powinieneś ustawić "auto-revert-interval" znacznie większy. – ngn999
Co stanie się po przeładowaniu pliku? – gcbenison
Czy istnieje polecenie Emacs do ponownego załadowania pliku? – Houdini
'revert-buffer' podobnie jak giordano zasugerował –