Große Auswahl an grafischen Git-Oberflächen 3 freie Multiplattform-GUIs für Git
Anbieter zum Thema
Grafische Nutzeroberflächen für Git gibt es reichlich. Wir stellen drei populäre Varianten vor und stellen die Grundsatzfrage: Braucht Git überhaupt GUIs?

Der Standardzugriff auf Git erfolgt über das gleichnamige Kommandozeilen-Tool im Temrinal. Das git-Kommando ist im Grunde recht einfach zu nutzen, bietet aber auch Optionen für komplexe Operationen. Die Hilfen sind meist aussagekräftig, Warn- und Fehlermeldungen sind außerordentlich hilfreich und es gibt sogar rudimentäre Funktionen zur Visualisierung der Historie und Datei-Differenzen.
Wenn das nicht genügt, gibt es wunderbare textbasierte Oberflächen für den Terminal, erst kürzlich haben wir etwa Lazygit vorgestellt: Mehr Visualisierungen, Arbeitshilfen für Konfliktlösungen, plus jede Menge Tastenkürzel für fixere Workflows.
Wozu bedarf es dann überhaupt einer GUI? Nun, zum einen wären da natürlich die GUI-Plug-ins für die großen IDEs wie Visual Studio (Code) – alles unter einem Dach erledigen zu können, hat einfach seinen Reiz. Und wenn sich um eine Cloud-IDE handelt, beispielsweise Gitpod mit VSC, steht diese eben samt Git-Plug-ins überall zur Verfügung.
Zum anderen gibt es aber auch Stand-Alone-GUIs, um die es hier gehen soll. Git selbst kommt standardmäßig mit Git Gui und gitk – und beides wird weder Git-Veteranen noch Einsteiger entzücken. Aber die Kombination ist ein gutes Beispiel für mögliche Vorteile. Vor allem: Man muss sich keine Befehle merken. Da man Git allerdings dennoch inklusive der einzelnen Befehle verstehen muss, um mit Git Gui zu arbeiten, macht es den Einstieg kaum einfacher.
Viele GUI-gewohnte Nutzer dürften den Umgang dennoch einfacher finden: Nach getaner Arbeit zeigt Git Gui schlicht alle Änderungen, kann die gewünschten Änderungen in den Staging-Bereich verschieben und dann samt Commit-Nachricht committen – man könnte sagen, Git Gui reduziert einen Großteil der Alltagsarbeit auf einen intuitiven „Speichern-unter-Dialog“.
Deutlich nützlicher ist der Commit-Viewer Gitk: Freilich lassen sich Commits auch im Terminal durchsuchen, aber die grafische Oberfläche ist als Browser übersichtlicher und wird auch von vielen Terminal-Fans separat genutzt.
Grundsätzlich gibt es drei Bereiche, in denen grafische Benutzerschnittstellen besonders hilfreich sind: Sie sorgen für mehr Übersicht, vereinfachen bestehende Workflows und nehmen den Usern das Jonglieren mit der Befehlssyntax ab.
Git-Cola
Git-Cola gehört zu den umfangreichsten grafischen Git-Oberflächen, wie auch das Git-Wiki bei Kernel.org verdeutlicht, wenn auch mit etwas veralteten Daten. Git-Cola ist in Python geschrieben und kann im Grunde die gesamte Git-Klaviatur bespielen. Lediglich Kleinigkeiten sind nicht so wie erwartet umzusetzen; so gibt es etwa keine Möglichkeit, einen Upstream-Branch direkt zu setzen, es muss über den Push-Dialog laufen. Kein Beinbruch, aber wenn beim interaktiven Rebase nach einem solchen gefragt wird, man aber nicht vorhat, den fremden Branch zu pushen, muss man zunächst einmal suchen.
Der interaktive Rebase zeigt dafür wunderbar, wie praktisch eine GUI sein kann. Gerade bei größeren Rebases mit vielen Commits und Konflikten ist die Arbeit mit Git-Cola deutlich angenehmer als direkt vie CLI.
Zumindest unter Windows macht Git-Cola allerdings nicht nur und sofort Freude. Zunächst einmal bedient sich das Tool der lokalen Standardsprache – und Git auf Deutsch ist wahrlich kein Vergnügen. Nur gibt es leider keine Sprachoptionen. Es muss eine Datei namens „language“ mit dem Inhalt „en_US.UTF-8“ angelegt werden – im unter Windows absolut nicht üblichen Konfigurationsverzeichnis „C:\Users\%USERNAME%\.config\git-cola“.
Tools wie Editor und Diff-Werkzeug wollen darüber hinaus manuell konfiguriert werden – und im Test gab es hier einige Abstürze zu vermelden. Nichtsdestotrotz vereinfacht Git-Cola einige Arbeiten ungemein und ist durchaus übersichtlich gestaltet, es bedarf jedoch ein wenig Einarbeitung – auch oder gerade dann, wenn man das CLI-Git bereits gut kennt. Sonderlich hübsch oder einsteigerfreundlich ist Git-Cola nicht.
Gittyup
Mit Gittyup geht auch ein Kandidat „Made in Germany“ ins Rennen, zumindest wird München/TU München vom Repo-Inhaber vermerkt. Gittyup ist auf den ersten Blick, was Git-Cola vermutlich sein möchte: Eine schicke GUI für den Großteil der Git-Funktionalität. Die Benutzerführung ist hier gleich von Beginn an besser, beispielsweise wird direkt nach etwaigen Konten für GitHub, Bitbucket & Co. gefragt. Natürlich lassen sich auch einfach vorhandene Git-Ordner öffnen, die GitHub-Anbindung funktioniert auf Anhieb.
Gittyup sieht aber nicht bloß hübsch aus, sondern ist auch sehr übersichtlich. Besonders gelungen sind die verschiedenen Ansichten für die Commit-Bäume, die etwa mehrere Branches gleichzeitig anzeigen können. Den Datei-/Pfad-Filter wünschte man sich auch in vielen anderen Git-Werkzeugen! Git bietet viele Ansichten und Gittyup schafft es sehr gut, diese in bester GUI-Manier anzuzeigen.
Viele der einzelnen Features unterscheiden sich nicht allzu sehr von Git-Cola, sind jedoch fast immer besser, vor allem verständlicher und intuitiver umgesetzt. Ein simples Beispiel: Beim Push eines frisch angelegten Branches gibt Gittyup aus, dass ein Upstream-Branch angelegt werden muss und verlinkt direkt die Option, diesen automatisch zu benennen. Und beim Rebase wird nicht nach einem Upstream-Branch gefragt. Git-Cola kommt zwar zum selben Ergebnis, bleibt aber intransparent.
Ein echtes Higlight von Gittyup ist das zeilenbasierte Staging: Hier lassen sich einfach Zeilen per Checkbox auswählen und dann gezielt in den Staging-Bereich verschieben. Für kleinere Änderungen zwischendurch steht zudem ein integrierter, simpler Texteditor zur Verfügung – ein weiterer Baustein für echten Mehrwert.
Kurzum: Gittyup ist gerade zu Beginn deutlich nutzerfreundlicher. Wo Git-Cola und auch Git Gui nach dem Repo-Import nur leere Flächen zeigen, spekuliert Gittyup, was der Nutzer wohl gerne sehen würde – und beginnt mit aktuellem Baum und Diff-Viewer. Gut geraten! Und bei aller funktionalen Ähnlichkeit zur Konkurrenz, im Detail liegt Gittyup in der Regel vorn. Aber auch nicht immer: Patches kann Gittyup derzeit nicht verarbeiten – je nach Umständen ein Showstopper.
Git Extensions
Zwar scheint der Name Git Extensions für einen Stand-Alone-Git-Manager etwas unpassend. Für anspruchsvolle Nutzer könnte dennoch es derzeit die besten Git-GUI sein. Es sieht auf den ersten Blick nicht so modern und zugänglich aus wie das an VSC angelehnte Gittyup, hält sich aber konsequent an (Windows-)Standards, hält alle Features übersichtlich bereit und ist auf Anhieb sehr gut bedienbar.
Das leicht biedere Design passt zudem sehr gut zum enormen Funktionsumfang. Mal ein Beispiel: Auch hier können Änderungen zeilenweise ins Staging übernommen werden. Das geht zwar über Tastenkürzel statt hübsche Checkboxen, dafür lässt sich im gleichen Dialog auch noch pushen, resetten und mehr.
Ähnlich verhält es sich mit vielen Details. Doch es ist der Funktionsumfang, der Git Extensions als Klassenprimus erscheinen lässt: Integrierte Konsole, GPG-Unterstützung, spezielle GitHub-Funktionen, Plug-in-Manager (unter anderem mit Erweiterungen für Jira, Gerrit), umfangreiche Windows-Explorer-Integration, Build-Server-Anbindung (zum Beispiel Jenkins) und einiges mehr.
Nun, auch hier ist nicht alles Gold, was glänzt: Beim interaktiven Rebasing beispielsweise wird der Status in einem separaten Fenster mit der Terminal-Ausgabe angezeigt – so weit, so normal. In einigen Fällen landet man dann jedoch teils wie beim originalen CLI-Git im Standard-Editor (vi) innerhalb dieses Statusfensters. An dieser Stelle ist Gittyup deutlich hilfreicher.
Abschließende Empfehlung
Git-Cola lässt sich bei dieser Auswahl an Tools eigentlich nur Minimalisten empfehlen, die ihre grafische Oberfläche gerne als weißes Blatt starten möchten. Gittyup ist wesentlich moderner designt, greift Nutzern am meisten unter die Arme und beschränkt sich auf das Wichtigste – für Anfänger und leicht fortgeschrittene User perfekt. Für Profis und große Projekte kann es eigentlich nur auf Git Extensions hinauslaufen – denn wer möchte schon ein Feature vermissen?
(ID:49052922)