Emacs ist neben Vim immer noch einer der beliebtesten Editoren bei Entwicklern – und Git die unangefochtene Nummer 1 bei Versionsverwaltungen. Und natürlich lässt sich direkt in Emacs mit Git-Repositories arbeiten – nativ oder komfortabler mit dem Add-on Magit.
Emacs-Fenster mit Buffern für Dired und Magit-Status.
(Bild: Lang / Emacs)
Wie sich Git in Vim integrieren lässt, haben wir bereits betrachtet. Und wenn Emacs und Vim auch wie Feuer und Wasser sein mögen, zwei Dinge haben sie (mindestens) gemeinsam: Ohne Grundkenntnisse geht gar nichts und jegliche Einrichtung ist mit etwas Aufwand verbunden.
Daher ganz kurz zum Einstieg in Emacs: Die Emacs-Steuerung läuft über Tastenkürzel oder auch direkte Befehlseingabe – was anfangs sicherlich einfacher ist. Das wichtigste Kürzel ist ALT+X, da damit die Befehlseingabe geöffnet wird – in Emacs-Notation schreibt sich das jedoch „M-x“.
Insofern finden Sie häufig Emacs-Hilfe in einer Form wie „M-x h <tab>„. Heißt: ALT+X öffnet einen Prompt, dann starten Sie einen Befehl mit „h“ und es folgt die übliche Auto-Vervollständigung via TAB; beendet wird natürlich über die Return-/Enter-Taste. Für den help-Befehl hieße das zum Beispiel: „M-x help RET“.
Über STRG+X, bei Emacs entsprechend „C-x“, gibt es zudem Zugriff auf Tastenkürzel: „C-x h“ markiert beispielsweise den Text des aktiven Buffers. Und mit Buffer wiederum sind die „Fenster“ innerhalb des Emacs-Fensters gemeint. Buffer schließen Sie mit „q“, gewechselt wird mit „C-x o“. Das ist nur ein winziger Einblick, aber für erste Schritte genügt es – Emacs-Dauernutzer werden im Laufe der Zeit dann zu wahren Shortcut-Artisten.
Git mit nativen Mitteln
Mit einem installierten Emacs können Sie auch sofort loslegen und das normale, systemseitig installierte git nutzen. Grundlegend bietet Emacs dafür zwei Optionen: Zum einen lässt sich eine Shell innerhalb von Emacs öffnen: „M-x shell“ öffnet einen Bash-Prompt im Verzeichnis der geöffneten Datei, darin kann man mit den üblichen git-Kommandos arbeiten und die Shell mit „exit“ wieder verlassen. Damit verlassen wir aber erst einmal nur die Shell, den Buffer müssen wir noch mit „C-x k RET“ schließen.
Ein klein wenig fixer geht es über das direkte Absenden von Shell-Befehlen, etwa eine Git-Statusabfrage: „UMSCHALT+ALT+1“ (Emacs-Slang: M-!) führt den Befehl „shell-command“ aus, was wieder in einer Befehlseingabe mündet, hier „git status“. Das Ergebnis wird dann wieder in einem Buffer angezeigt. Für häufiger benötigte Aufrufe lassen sich in der Emacs-Konfiguration unter „~/.emacs“ passende Kürzel eintragen:
Wirklich hübsch ist das nicht unbedingt. Dennoch: Schon mit diesem Minimum an Emacs-Wissen lässt sich durchaus vernünftig mit Git arbeiten.
Magit einrichten
Als wäre Emacs nicht schon komplex genug, Magit fügt noch ein Quäntchen Komplexität hinzu – auf den ersten Blick. Doch Magit hat gleich zwei schöne Eigenschaften: Git-Einsteiger können auch komplexe Git-Operationen über eine Art Menüführung einsetzen, beispielsweise, um einen Log mit hübscher Formatierung hervorzurufen. Und echte Git-Vielnutzer dürfen sich auf spaßige Dinge wie vereinfachte interaktive Rebases freuen oder können Änderungen zeilenweise committen. Dafür muss Magit aber erstmal eingerichtet werden.
Zunächst sollten Sie das System aktualisieren, um Problemen vorzubeugen. So sind beispielsweise Ende letzten Jahres einige GPG-Schlüssel erneuert worden, was beim Einsatz des Paketmanagers Melpa (Milkypostman’s Emacs Lisp Package Archive) zu Fehlermeldungen führen wird.
Zunächst fügen Sie folgenden Code in die Emacs-Konfiguration unter „~/.emacs“ ein, um Melpa zu installieren:
... aus, um die Paketliste zu aktualisieren. Abschließend installieren Sie dann Magit via:
M-x package-install RET magit RET“
Um Magit zu testen, versuchen Sie es nun zunächst mit einem „M-x magit-version“, was die Versionen von Emacs, Magit und Git ausgeben sollte.
Magit nutzen
Emacs-Fenster mit Buffern für Dired, Magit-Status und -Optionen.
(Bild: Lang / Emacs)
Öffnen Sie nun eine Datei aus einem Git-Repository oder navigieren Sie mit dem Emacs-Dateibrowser Dired („M-x dired“) in ein solches Repo. Von hier aus können Sie nun quasi das „Hauptfenster“ von Magit aufrufen, einfach per „M-x magit“ oder „M-x magit-status“. Das gibt einen hübsch formatierten Statusbericht aus, vor allem aber können Sie nun über UMSCHALT+ß (also ?) die Optionen von Magit betrachten. Mit „C-g“ wird die Übersicht wieder geschlossen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Und hier breitet sich nun die volle Kraft des Tools aus. Aus Emacs-Sicht fällt Magit ein wenig aus dem Bedienkonzept, denn statt komplizierter, umfangreicher Tastenkürzel verlangt Magit immer nur simple, einzelne Tasten. Angenommen man möchte das Log mitsamt buntem Graphen anzeigen, dann sieht der Workflow wie folgt aus:
„l“ – ruft die Log-Konfiguration auf.
„-c“ – aktiviert die Option farbiger Graph.
„-D“ – setzt vereinfachte Dekoration.
„-h“ – zeigt zusätzlich die Header.
„l“ – ruft nun den Log für das aktuelle Repo auf.
Die Nutzung ist etwas gewöhnungsbedürftig, denn die angeboten Optionen lassen sich in beliebiger Reihenfolge einfach über ihre Kürzel setzen – samt der davor stehenden Pipe! Genauso wählt man die Optionen auch wieder ab. Und letztlich bestimmen der Anwender, hier über das „l“, welcher Log aufgerufen wird. Diese Konfiguration bleibt natürlich bestehen – beim nächsten Log-Aufruf genügt „M-x magit RET ? l l“.
Damit ist es nun möglich, alle Möglichkeiten von Magit zuzugreifen – denn letztlich läuft es immer wieder auf dasselbe Prozedere hinaus: Status aufrufen, Befehlsübersicht aufrufen, Git-Funktion wählen, den Optionen auf dem Bildschirm folgen. Das ist im Grunde ziemlich simpel, aber wie immer sollte man definitiv nicht mit einem Produktiv-Repository testen.
Durch die teils doch sehr ungewohnte Bedienung kann man sich schon mal verzetteln. Wer beispielsweise Änderungen committen möchte, landet wie üblich im Editor zum Verfassen oder Bestätigen der Commit-Message. Die Bestätigung folgt dann mit „C-c C-c“, also zweimal STRG+C; allerdings funktioniert STRG+C+C ebenfalls. Und wer viel im Terminal arbeitet, wird mit STRG+C sicherlich etwas anderes verbinden als Speichern oder Bestätigen.
Ein wenig GUI ist manchmal hilfreich.
(Bild: Lang / Magit)
Vielleicht können Sie sich nicht gleich alles merken, was mit Magit zu tun hat – kein Problem! Sobald Sie „M-x magit“ ausführen, erscheint im Emacs-Fenster ein neues Menü „Magit“, wo Sie alles nochmal schön für die Mausarbeit vorfinden. Das ist nicht unbedingt die Kernkompetenz von Emacs, aber es hilft beim Eingewöhnen.
Sie werden hier und da über alternative Wege stolpern, Git in Emacs zu integrieren – aber Magit hat sich hier klar als Standard durchgesetzt. Wenn Sie hier wirklich nach Alternativen suchen, werden Sie diese nur abseits von Emacs finden: Entweder Sie wechseln doch zum Vim-Lager oder setzen auf ausgewachsene Code-Editoren [https://www.dev-insider.de/visual-studio-code-und-atom-unter-windows-a-794828/], in die sich Git meist integrieren lässt.