Vergleich

Git GUI: grafische Git-Clients – TortoiseGit, GitKraken, VS Code und mehr

Aktualisiert: · Skillaria.Top

Ein Git GUI ist ein grafischer Client, der Historie, Branches und Änderungen in einem Fenster statt auf der Kommandozeile zeigt. Beliebt sind die Git-Oberfläche in VS Code und den JetBrains-IDEs, GitHub Desktop für einfache Aufgaben, TortoiseGit und Git Extensions für Windows sowie GitKraken und Sourcetree für anschauliche Branch-Arbeit; alle arbeiten auf normalem Git.

Was ist ein Git GUI und braucht man es?

Ein Git GUI ist eine grafische Anwendung für die Arbeit mit Git: Statt Befehle zu tippen, sehen Sie eine Liste geänderter Dateien, einen Commit-Baum und Buttons wie „Commit“, „Push“, „Merge“. Unter der Haube führt fast jeder Git-Client dieselben Operationen aus wie die Kommandozeile, viele rufen buchstäblich das im System installierte git auf. Ein GUI ist also kein eigenes Versionskontrollsystem, sondern ein anderer Weg, dasselbe Repository zu steuern.

Besonders gut ist ein grafischer Client für drei Aufgaben: Historie und Branches als Graph ansehen, Änderungen teilweise hinzufügen (einzelne Zeilen per Maus in einen Commit zu übernehmen ist viel einfacher als mit git add -p) und Konflikte in einem dreiteiligen Editor lösen. Für Automatisierung, die Arbeit auf Servern per SSH und das Verständnis dessen, was wirklich passiert, ist die Kommandozeile dagegen unersetzlich.

Die optimale Strategie, die viele erfahrene Entwickler verfolgen: die Kommandozeile beherrschen und ein GUI dort nutzen, wo es Zeit spart. Sind Sie Einsteiger, lernen Sie zuerst die Grundbefehle – dann sind die Buttons in jeder Anwendung verständlich statt magisch.

Das eingebaute git gui und gitk

Nur wenige wissen, dass Git bereits ein grafisches Programm mitbringt. Der Befehl git gui öffnet ein einfaches Tcl/Tk-Fenster zum Vorbereiten von Commits: Diff ansehen, Dateien und einzelne Abschnitte hinzufügen, Commit erstellen, pushen. Der Befehl gitk zeigt die Historie als Graph.

git gui
gitk --all

Unter Git für Windows werden beide Programme zusammen mit Git Bash installiert. Unter Linux muss man sie manchmal als eigenes Paket nachinstallieren (z. B. git-gui und gitk unter Debian und Ubuntu). Die Oberfläche ist altmodisch, dafür müssen Sie nichts herunterladen, und sie läuft überall, wo es Git gibt.

Git in VS Code

Wenn Sie Code in Visual Studio Code schreiben, brauchen Sie womöglich gar kein separates Programm. Die Ansicht Source Control (Strg+Umschalt+G) kann einzelne Dateien und Zeilen stagen, committen, pushen und pullen, Branches wechseln und anlegen und zeigt Änderungen direkt im Editor als farbige Markierungen am Rand. Merge-Konflikte öffnen sich mit den Buttons „Accept Current“, „Accept Incoming“, „Accept Both“, und neuere Versionen haben einen dreiteiligen Merge-Editor.

VS Code verwendet das im System installierte Git – installieren Sie also zuerst Git selbst, sonst zeigt die Ansicht eine Warnung. Die Git-Funktionen von VS Code lassen sich mit Erweiterungen ausbauen: GitLens fügt zeilenweise Autorenschaft (blame), detaillierte Dateihistorie und Branch-Vergleiche hinzu, Git Graph zeichnet den Commit-Graphen. Manche GitLens-Funktionen gibt es nur im Abo – prüfen Sie, was im kostenlosen Teil enthalten ist.

Ähnlich haben die JetBrains-IDEs (IntelliJ IDEA, PyCharm, WebStorm und andere) einen ausgereiften Git-Client eingebaut, mit Branch-Graph, interaktivem Rebase, Shelve und komfortabler Konfliktlösung. Für viele Entwickler ist das der wichtigste Git-Client.

TortoiseGit

TortoiseGit ist ein kostenloser Open-Source-Client nur für Windows. Er öffnet sich nicht als eigene Anwendung, sondern integriert sich in den Explorer: Rechtsklick auf einen Ordner – und im Kontextmenü erscheinen Commit, Pull, Push, Show log, Diff. Auf den Dateisymbolen werden Status-Overlays angezeigt: geändert, hinzugefügt, im Konflikt.

TortoiseGit ist besonders praktisch für alle, die von SVN kommen und an TortoiseSVN gewöhnt sind, und für Nicht-Programmierer – Designer, technische Redakteure, Tester –, die einfach Dateien holen und hochladen müssen. TortoiseGit braucht ein installiertes Git für Windows. Nachteile: nicht plattformübergreifend, und der Historiengraph ist weniger anschaulich als bei spezialisierten Clients.

Git Extensions

Git Extensions ist ein weiterer kostenloser Open-Source-Client für Windows. Anders als TortoiseGit ist er ein vollwertiges Fenster mit Commit-Graph, Diff-Ansichten und Branch-Liste, dazu kommt die Integration in Explorer und Visual Studio. Viele Operationen bildet er recht nah an den Git-Befehlen ab, es gibt eine eingebaute Konsole und Unterstützung für Submodule.

Git Extensions wählt man, wenn man einen leistungsfähigen kostenlosen Windows-Client mit vollwertigem Graphen braucht und macOS keine Rolle spielt. Die Oberfläche ist voll, Einsteiger brauchen daher etwas Eingewöhnung.

GitHub Desktop

GitHub Desktop ist eine kostenlose Open-Source-Anwendung für Windows und macOS. Sie setzt auf Einfachheit: Änderungsliste, Feld für die Commit-Nachricht, Sync-Button, Branch-Umschalter. Die Integration mit GitHub ist tief – eigene Repositories mit einem Klick klonen, Pull Requests erstellen, Anmeldung über das Konto –, sie funktioniert aber auch mit jedem anderen Remote-Repository.

GitHub Desktop ist ein guter erster Client für Einsteiger und eine ordentliche Wahl für einfache Projekte. Komplexe Operationen (interaktiver Rebase, Arbeit mit dem Reflog, feine Merge-Einstellungen) sind dort eingeschränkt oder fehlen; dafür müssen Sie das Terminal öffnen.

GitKraken

GitKraken ist ein plattformübergreifender kommerzieller Client (Windows, macOS, Linux) mit einem der anschaulichsten Commit-Graphen. Per Drag-and-drop eines Branches lässt sich ein Merge oder Rebase ausführen; es gibt einen eingebauten Konflikteditor, Git-Flow-Unterstützung, Integrationen mit verbreiteten Git-Hostern und Issue-Trackern und das Rückgängigmachen der letzten Operation per Undo-Button.

Es gibt eine eingeschränkte kostenlose Variante und kostenpflichtige Abos; der Funktionsumfang der Tarife ändert sich, prüfen Sie daher Bedingungen, etwa für private Repositories, vor der Wahl auf der offiziellen Website. GitKraken wird für die Visualisierung komplexer Historien geschätzt; Nachteile sind der hohe Ressourcenbedarf und das kostenpflichtige Modell für kommerzielle Arbeit.

Sourcetree, Fork, Sublime Merge und Terminal-Clients

Sourcetree von Atlassian ist ein kostenloser Client für Windows und macOS mit Historiengraph, Unterstützung für Git Flow, interaktiven Rebase und Stash. Er harmoniert gut mit Bitbucket. Für die Installation kann ein Atlassian-Konto nötig sein.

Fork ist ein schneller, aufgeräumter kommerzieller Client für Windows und macOS mit komfortablem interaktivem Rebase und guter Konfliktlösung; die Nutzungsbedingungen finden Sie auf der Website des Herstellers.

Sublime Merge von den Machern von Sublime Text ist ein sehr schneller Client für Windows, macOS und Linux, dessen Logik nah an der Kommandozeile liegt: Man sieht leicht, welchen Git-Befehl ein Button ausführt. Er wird unter einer kommerziellen Lizenz mit Testmöglichkeit vertrieben.

lazygit und tig sind Clients mit Textoberfläche im Terminal. Mit lazygit können Sie Zeilen stagen, rebasen und Konflikte lösen – alles per Tastatur; tig eignet sich gut zum Durchsehen der Historie. Das ist die Wahl für alle, die im Terminal leben und per SSH auf Servern arbeiten.

Vergleichstabelle der Git-Clients

ClientPlattformenLizenzmodellStärkeFür wen
git gui + gitkWindows, macOS, LinuxKostenlos, Teil von GitKeine Installation nötigSchneller Blick auf Commit und Historie
VS CodeWindows, macOS, LinuxKostenlosGit direkt im EditorEntwickler, die in VS Code arbeiten
JetBrains-IDEsWindows, macOS, LinuxAbhängig von der IDEStarke Werkzeuge für Rebase und KonflikteNutzer von JetBrains-IDEs
TortoiseGitWindowsKostenlos, Open SourceIntegration in den ExplorerEhemalige SVN-Nutzer, Nicht-Programmierer
Git ExtensionsWindowsKostenlos, Open SourceVollwertiger Graph, viele FunktionenErfahrene Windows-Nutzer
GitHub DesktopWindows, macOSKostenlos, Open SourceEinfachheit, GitHub-IntegrationEinsteiger, einfache Projekte
GitKrakenWindows, macOS, LinuxKommerziell, kostenlose Variante verfügbarAnschaulicher Graph, Drag-and-dropTeams mit komplexer Historie
SourcetreeWindows, macOSKostenlosGit Flow, Bitbucket-IntegrationNutzer des Atlassian-Ökosystems
Sublime MergeWindows, macOS, LinuxKommerziellGeschwindigkeit, transparente BefehleAlle, denen Tempo wichtig ist
lazygitWindows, macOS, LinuxKostenlos, Open SourceArbeit im TerminalTerminal- und SSH-Fans

So wählen Sie das passende Git-Programm

  • Sie arbeiten bereits in VS Code oder einer JetBrains-IDE – beginnen Sie mit dem eingebauten Git. Eine separate Anwendung brauchen Sie nur, wenn etwas fehlt.
  • Maximale Einfachheit gewünscht – GitHub Desktop.
  • Windows und Gewöhnung an den Explorer – TortoiseGit; wenn Sie einen vollwertigen Graphen brauchen – Git Extensions.
  • Komplexe Historie mit vielen Branches, Teamarbeit auf verschiedenen Betriebssystemen – GitKraken, Sublime Merge oder Fork; prüfen Sie die Lizenzbedingungen für die kommerzielle Nutzung.
  • Sie leben im Terminal – lazygit oder tig.

Viele Clients lassen sich parallel installieren: Sie arbeiten mit demselben Repository und stören sich nicht gegenseitig, weil alle Informationen im Ordner .git liegen. Probieren Sie zwei, drei Varianten an einem echten Projekt aus und behalten Sie die, in der Sie am schnellsten finden, was Sie brauchen.

Fallstricke grafischer Clients

  • Unterschiedliche Git-Versionen. Manche Anwendungen bringen ein eigenes Git mit, dessen Version von der des Systems abweichen kann. Verhalten sich GUI und Terminal unterschiedlich, prüfen Sie in den Client-Einstellungen, welches Git er verwendet.
  • Implizite Operationen. Der Button „Sync“ kann pull mit Merge oder Rebase und danach push bedeuten. Finden Sie heraus, was genau er tut, bevor Sie ihn in einem wichtigen Branch drücken.
  • Force-Push mit einem Klick. Im GUI überschreibt man leicht die Historie eines Remote-Branches. Bevorzugen Sie die Variante mit Prüfung (entspricht git push --force-with-lease) und schützen Sie die Hauptbranches auf dem Server.
  • Name und E-Mail. Clients übernehmen sie aus der Git-Konfiguration. Prüfen Sie git config --global user.name und user.email, sonst sind Commits aus dem GUI mit dem falschen Autor signiert.
  • Authentifizierung. GUIs speichern Tokens oft getrennt vom System-Git. Funktioniert push im Terminal, aber nicht in der Anwendung (oder umgekehrt), liegt das Problem fast immer bei den Zugangsdaten.

GUI und Kommandozeile verbinden

Die nützlichste Fähigkeit: im Terminal überprüfen können, was der Client getan hat. Führen Sie nach einer unklaren Operation in der Anwendung git status und git log --oneline --graph --all -n 20 aus: Sie sehen den tatsächlichen Zustand der Branches ohne Interpretation durch die Oberfläche. Ist etwas schiefgegangen, zeigt git reflog, wo HEAD vor dem Klick stand, und Sie können mit git reset oder git switch zurückkehren.

Viele Clients zeigen ein Protokoll der ausgeführten Git-Befehle – schalten Sie es ein. Das ist der beste Weg, die Befehle zu lernen, ohne auf die bequeme Oberfläche zu verzichten.

Fazit

Ein Git GUI erleichtert das Durchsehen der Historie, Teil-Commits und die Konfliktlösung, ersetzt aber nicht das Verständnis der Befehle. Den meisten Entwicklern genügt das eingebaute Git in VS Code oder der IDE; Einsteigern passt GitHub Desktop, Windows-Nutzern TortoiseGit oder Git Extensions, und für die anschauliche Arbeit mit komplexer Historie GitKraken, Sourcetree oder Sublime Merge. Installation, Einrichtung von Git und komfortables Arbeiten im Terminal üben wir praktisch im Git-Kurs.

Häufige Fragen

Kann man mit Git ausschließlich über einen grafischen Client arbeiten?

Für alltägliche Aufgaben ja, aber früher oder später kommt eine Situation, die sich per Befehl leichter lösen lässt, etwa eine Wiederherstellung über das Reflog. Die Grundbefehle sollten Sie in jedem Fall kennen.

Muss Git separat installiert werden, wenn ein GUI-Client vorhanden ist?

VS Code, TortoiseGit und Git Extensions brauchen ein installiertes Git. Manche Anwendungen wie GitHub Desktop bringen ein eigenes Git mit, ein System-Git ist für das Terminal aber trotzdem nützlich.

Welche Git-Clients gibt es für Linux?

Unter Linux laufen das eingebaute git gui und gitk, VS Code und die JetBrains-IDEs, GitKraken, Sublime Merge sowie die Terminal-Clients lazygit und tig.

Ist es sicher, ein Repository in mehreren Clients zu öffnen?

Ja, alle Clients arbeiten mit demselben .git-Ordner. Starten Sie nur keine Operationen gleichzeitig, sonst bekommt einer der Clients einen Fehler wegen einer gesperrten index.lock.

Das Thema im Video lernen

Dieses Thema wird im Kurs „Git vom Anfänger zum versierten Entwickler“ ausführlich mit Praxis behandelt.

Zum Kurs