2013-06-11 3 views
12

Am Ende meines Emacs 23-Editors stelle ich fest, dass Emacs weiß, dass ich in einem Verzeichnis mit Versionskontrolle arbeite, welches Versionskontrollsystem es gibt und in welchem ​​Zweig ich mich gerade befinde. Ziemlich cool! Aber sagen Sie, ich bin auf dem Master-Zweig, und von der Befehlszeile aus mache ich einen git commit, gefolgt von einem git checkout <branch>. Emacs zeigt mir immer noch, dass ich in der Meisterbranche bin. Wie aktualisiere ich Emacs so, dass es den Zweig widerspiegelt, in dem ich mich gerade befinde, ohne alle meine Puffer zu schließen und neu zu starten?Wie kann ich Emacs mitteilen, dass mein git-Zweig sich geändert hat?

+0

Was passiert, wenn Sie die Datei einfach neu laden? – gcbenison

+0

Gibt es einen Emacs-Befehl, um die Datei neu zu laden? – Houdini

+1

'revert-buffer' wie giordano vorgeschlagen –

Antwort

14

M-xrevert-buffer aber ich schlage vor, Sie magit-mode zu benutzen, um Ihre git repos in Emacs zu verwalten.

Für die Aufzeichnung verwende ich revert-buffer-F5 zu binden:

(global-set-key [f5] 'revert-buffer) 
+0

Vielen Dank! Key-Binding ist perfekt für den Moment, aber später sieht es so aus, als wäre "magit-mode" eine dauerhafte Lösung. – Houdini

+5

@Houdini um die lästige Bestätigung zu vermeiden, wenn Sie * F5 * drücken. Verwenden Sie '(global-set-key [f5] (lambda() (interaktiv) (revert-buffer nil t))' –

6

Um zu Giordanos Antwort hinzufügen, wenn viele Dateien, die unter git sind, geöffnet werden. Dann öffnen Befehlspufferspeicher (M-xibuffer) markieren die Puffer wollen Sie von (revert-buffer nil t)m und dann E gefolgt neu geladen werden.

+1

Keine Notwendigkeit für das eval - 'V' läuft' ibuffer-do-revert'. Und natürlich gibt es viele Möglichkeiten, Puffer in Ibuffer zu markieren, also benutzen Sie 'C-h m', um seine Funktionen zu überprüfen, wenn Sie damit nicht vertraut sind. – phils

+3

Wenn Sie ibuffer und Versionskontrolle mischen, möchten Sie wahrscheinlich auch [ibuffer-vc] (https://github.com/purcell/ibuffer-vc) auschecken. – phils

+0

Vielen Dank Phils. Ich fange endlich an zu versuchen, mein Versionskontrollsystem und Editor in Verbindung miteinander zu verwenden, anstatt für 'git' Befehle zur Befehlszeile zurückzuspringen. – Houdini

9

Sie können den Puffer automatisch zurücksetzen, indem Sie den globalen automatischen Rückstellmodus aktivieren. Wenn Sie es aktivieren möchten, fügen Sie bitte folgenden Code zu Ihrer Konfigurationsdatei hinzu.

(global-auto-revert-mode 1) 
(setq auto-revert-check-vc-info t) 
+1

Wenn Sie zu viele Puffer öffnen und Ihre Maschine heiß ist, sollten Sie das "auto-revert-interval" viel größer einstellen. – ngn999

Verwandte Themen