Aus Linux-Magazin 07/2024

Fünf grafische Frontends für Git

© gioiak2 / 123RF.com

Git hat sich längst als Standard für Revisionskontrollsysteme durchgesetzt. Grafische Frontends helfen beim Einstieg und erleichtern die Arbeit in den einzelnen Projekten.

Für Entwickler freier Software gehört das verteilte Versionskontrollsystem Git [1] zum täglichen Handwerkszeug. Das Projekt wurde 2005 unter Federführung von Linus Torvalds ins Leben gerufen, als das zuvor genutzte Bitkeeper kostenpflichtig wurde. Die Entwickler des Linux-Kernels sahen sich deshalb gezwungen, nach einer neuen Software zum Versionsmanagement Ausschau zu halten. Aufgrund seines ausgereiften Konzepts lässt sich Git in der Softwareentwicklung universell einsetzen. Das dezentrale Verwaltungssystem kann man aufgrund der lokalen Spiegelung der Projektarchive auch offline nutzen. Darüber hinaus ermöglicht es ein effizientes Quellcodemanagement und gewährleistet durch SHA-1-Hashes die Integrität der Daten.

Als auf der Kommandozeile genutztes Werkzeug genügt Git allerdings nicht den Komfortansprüchen jedes Entwicklers. Daher entstanden im Laufe der Zeit zahlreiche grafische Frontends, die größtenteils plattformübergreifend zur Verfügung stehen. Bei vielen davon handelt es sich um proprietäre Lösungen, doch es gibt auch zahlreiche freie grafische Oberflächen für Git. Die Git-GUIs unterscheiden sich im Funktionsumfang und fokussieren auf verschiedene Einsatzschwerpunkte, ermöglichen aber allesamt ein komfortableres Handling von Git-Projekten.

Git Cola

Das in Python programmierte Git Cola [2] mit dem Visualisierer Git-dag steht unter der GNU-GPL-Lizenz. Die plattformübergreifende Software findet sich in den Paketquellen zahlreicher Distributionen, bei der Installation legen die entsprechenden Routinen Starter in der Menüstruktur der gängigen Arbeitsumgebungen an.

Git Cola öffnet ein spartanisch wirkendes Fenster, in dem sich neben einem Verzeichnismanager lediglich unten links drei Funktionsschalter finden: Mit dem ersten Öffnen Sie ein lokal bestehendes Repository, mit zweiten Klonen Sie ein Remote-Repository auf die lokale Maschine. Mit der Schaltfläche Neu legen Sie ein neues Projekt an (Abbildung 1).

Abbildung 1: Die Oberfläche von Git Cola bedarf keiner Erklärung.

Abbildung 1: Die Oberfläche von Git Cola bedarf keiner Erklärung.

Legen Sie ein neues Repository an, teilt sich das bis dahin leere Startfenster: Sie sehen nun links in einer Spalte mit dem Titel Zustand die Dateien, die Sie im Projekt anlegen, während unten im Fenster im Segment Vergleich über die gesamte Breite die Unterschiede zwischen der angezeigten Datei und dem Index des Repositorys erscheinen.

Neu angelegte Dateien müssen Sie zunächst in den Zustand Stage überführen, um sie in die Versionskontrolle zu integrieren. Dazu klicken Sie im Menü Commit aufnehmen entweder auf Alle neuen Dateien vormerken oder auf die Option Stage/Unstage All. Links im Segment Zustand erscheinen nun vor den betreffenden Dateinamen grüne Dreiecke als Symbol der Statusänderung.

Um die Dateien der Versionskontrolle hinzuzufügen, geben Sie im mittleren Fensterabschnitt Commit eine Beschreibung ein. Im Titelfeld darüber vergeben Sie eine aussagekräftige Bezeichnung. Danach klicken Sie auf die Schaltfläche Commit aufnehmen, um den neuen Beitrag in das Repository einzupflegen. Daraufhin leert Git Cola alle Fenstersegmente und legt den Master-Zweig an, der rechts oben in der vertikalen Spalte Branches in der Kategorie Lokal erscheint.

Um Änderungen an Dateien aufzunehmen, gehen Sie wie beim Neuanlegen von Inhalten vor. Nach Abschluss der Modifikationen markieren Sie die geänderten Dateien im Menü Commit aufnehmen mithilfe des Eintrags Geänderte Dateien vormerken. Nach Eingabe des Beschreibungstexts und des Titels klicken Sie auf Commit aufnehmen, um den aktuellen Zweig zu aktualisieren.

Ansichtssache

Zur Anzeige der Versionshistorie integriert Git Cola den Visualisierer Git-dag, den Sie aus dem Programmfenster heraus durch Auswahl der Option DAG im Menü Ansicht öffnen. Daraufhin öffnet sich ein zusätzliches Fenster, in dem rechts eine Baumansicht des Projekts mit den einzelnen Zweigen erscheint. Links sehen Sie in den Bereichen Log und Dateien durch Auswahl der entsprechenden Optionen die Inhalte des ausgewählten Zweigs ein. Im Segment Vergleich zeigt das Tool dabei den Quelltext farblich gekennzeichnet an (Abbildung 2).

Abbildung 2: Inhalte erscheinen in Git Cola in verschiedenen Fenstersegmenten, was den Überblick erleichtert.

Abbildung 2: Inhalte erscheinen in Git Cola in verschiedenen Fenstersegmenten, was den Überblick erleichtert.

Um einzelne Dateien zu betrachten und zu bearbeiten, klicken Sie bei geöffnetem Repository im Menü Ansicht auf die Option Dateien durchsuchen. Daraufhin öffnet sich ein weiteres Fenster mit einer Liste aller Verzeichnisse und Dateien. Dort navigieren Sie zur gewünschten Datei und öffnen mit einem Rechtsklick darauf das zugehörige Kontextmenü. Darin wählen Sie die Option Mit Editor bearbeiten. Git Cola öffnet nun die Datei im Editor Gvim, wo Sie nun die beabsichtigten Änderungen vornehmen (Abbildung 3).

Abbildung 3: Mit Gvim können Sie aus Git Cola heraus Dateien direkt komfortabel bearbeiten.

Abbildung 3: Mit Gvim können Sie aus Git Cola heraus Dateien direkt komfortabel bearbeiten.

Zweigstellen

Aus Git Cola heraus können Sie außerdem neue Branches anlegen. Dazu rechtsklicken Sie im Visualisierer auf den Commit, der als Ausgangspunkt für die Modifikation dienen soll. Im sich öffnenden Kontextmenü klicken Sie auf Branch erstellen, um einen neuen Zweig anzulegen, in den Sie anschließend editierte Dateien als Commit einfügen.

Gitg

Das in Vala geschriebene grafische Frontend Gitg [3] wurde speziell für den Gnome-Desktop konzipiert, lässt sich jedoch auch unter anderen Arbeitsoberflächen problemlos nutzen. Nach der Installation, die Sie in aller Regel aus den Software-Repos der verwendeten Linux-Distribution anstoßen, finden Sie in der Menühierarchie des Systems einen Starter für die Anwendung.

Ein Klick darauf öffnet ein nahezu leeres Fenster, in dem sich lediglich einige nach den Konventionen des Gnome-Desktops in der Titelleiste angeordnete Bedienelemente finden (Abbildung 4). Sie duplizieren nun mithilfe des Buttons Klonen entweder ein bestehendes Git-Repository auf den lokalen Massenspeicher oder ergänzen über Hinzufügen die Versionsverwaltung um ein lokal vorhandenes Repository.

Abbildung 4: Gitg kommt mit einem konventionellen Gnome-Layout.

Abbildung 4: Gitg kommt mit einem konventionellen Gnome-Layout.

Anschließend öffnet sich das eigentliche Programmfenster (Abbildung 5), in dem Sie in einer Spalte links die einzelnen Zweige finden, während rechts die eingepflegten Commits in einer Baumstruktur erscheinen. Im Editor ganz unten sehen Sie den Code ein.

Abbildung 5: Das Bearbeiten von Projekten fällt bei Gitg aufgrund der übersichtlichen Oberfläche sehr leicht.

Abbildung 5: Das Bearbeiten von Projekten fällt bei Gitg aufgrund der übersichtlichen Oberfläche sehr leicht.

Bevor Sie Änderungen in einen Zweig einpflegen können, müssen Sie die Anwendung konfigurieren. Dazu wählen Sie aus dem Hamburger-Menü oben rechts die Option Details des Autors. In einem gesonderten kleinen Fenster geben Sie nun den Autorennamen sowie die zugehörige E-Mail-Adresse ein und klicken dann auf Speichern.

Um Codeänderungen als Commits in den aktuellen Zweig einzupflegen, klicken Sie in der Spalte links auf die jeweils geöffnete Datei und danach oben rechts auf den nach unten zeigenden Pfeil. Die Änderung wechselt daraufhin in die Kategorie Bereitgestellt, was dem Zustand staged entspricht. Anschließend klicken Sie unten rechts im Programmfenster auf Commit, um die Änderungen in den Zweig zu übernehmen. Die Software öffnet im Anschluss ein kleines Fenster, in dem Sie einen Freitext als Beschreibung eingeben. Danach klicken Sie oben rechts auf Commit.

Zweige anlegen

Um von einem Commit ausgehend einen neuen Zweig anzulegen, klicken Sie den entsprechenden Eintrag im rechten Fenstersegment mit der rechten Maustaste an und wählen aus dem Kontextmenü die Option Zweig erstellen. Es öffnet sich ein kleines Fenster, in dem Sie den Namen für den Branch eingeben. Nach einem Klick auf Erstellen schließt sich das Fenster wieder, und der neue Zweig erscheint in der Hauptansicht oben rechts. Sie können ihn nun mit beliebigen Inhalten füllen.

Gitqlient

Das unabhängig entwickelte grafische Frontend Gitqlient [4] gibt es für alle gängigen Plattformen. Linux-Binaries finden sich in den Softwarearchiven aller gängigen Distributionen, zudem steht ein Appimage-Paket zur Verfügung. Wie der Name schon ahnen lässt, basiert Gitqlient auf dem Qt-Framework. Beim ersten Start öffnet sich ein schlichtes Fenster (Abbildung 6), in dem drei zentral angeordnete Schaltflächen das Öffnen respektive Klonen eines bestehenden Repositorys oder das Anlegen eines Projekts ermöglichen.

Abbildung 6: Aller guten Dinge sind drei! Mehr braucht es nicht bei Gitqlient.

Abbildung 6: Aller guten Dinge sind drei! Mehr braucht es nicht bei Gitqlient.

Beim Laden eines bestehenden Projekts öffnet sich zunächst ein Konfigurationsdialog, in dem Sie einige Einstellungen zum jeweiligen Repository vornehmen. Danach fragt Gitqlient in einem zweiten Fenster noch einige Angaben zum Repository ab wie die globale und lokale Bezeichnung. Anschließend öffnet sich das eigentliche Programmfenster (Abbildung 7) mit einem zentral angeordneten Teil, in dem die Branches und Commits des Projekts untereinander erscheinen. In einer Spalte rechts führt das Tool die einzelnen Branches nochmals in Tabellenform auf, jedoch nur mit ihren Titeln und aufgeteilt nach lokalen und Remote-Repositories. Auch in das Repo integrierte Tags – üblicherweise Versionsnummern – finden sich hier. Dank der modernen Reiterstruktur der Oberfläche können Sie dabei mehrere Projekte simultan geöffnet halten, wobei die Anwendung jedoch beim Laden oder Klonen eines neuen Projekts jeweils die Konfigurationsdialoge erneut durchläuft.

Abbildung 7: Das primäre Fenster von Gitqlient wirkt konventionell, erleichtert aber trotzdem die Arbeit.

Abbildung 7: Das primäre Fenster von Gitqlient wirkt konventionell, erleichtert aber trotzdem die Arbeit.

Wichtige Aktionen wie Push und Pull oder die Diff-Anzeige zum Vergleich der Änderungen erreichen Sie im Programmfenster über die Schalterleiste ganz oben. Über das Hamburger-Menü ganz oben links neben dem ersten Reiter können Sie außerdem schnell Repositories öffnen, klonen, neu anlegen oder schließen. In den Folgesitzungen erleichtert zusätzlich die Anzeige der bereits geöffneten und der am häufigsten genutzten Projekte im primären Programmfenster den Schnelleinstieg.

Relagit

Die noch recht junge Anwendung Relagit [5] beziehen Sie von der Github-Seite des Projekts als DEB- oder RPM-Paket. Nach der Installation starten Sie das Werkzeug aus der Menühierarchie der Arbeitsumgebung. Statt einen konventionellen Dialog zum Klonen, Öffnen oder Neuanlegen eines Projekts anzubieten, öffnet Relagit beim ersten Aufruf einen integrierten Assistenten, der Sie in wenigen Schritten mit der Bedienung des Tools vertraut macht (Abbildung 8).

Abbildung 8: Bei Relagit wird der Anwender von einem Assistenten unterstützt.

Abbildung 8: Bei Relagit wird der Anwender von einem Assistenten unterstützt.

Im ersten Schritt lokalisieren Sie dabei das Programm deutsch. Durch einen anschließenden Mausklick auf das Plus-Symbol in der linken Spalte neben der Option Repositories öffnen Sie ein Kontextmenü. Darin wählen Sie, ob Sie ein bestehendes Repository klonen oder eines vom lokalen Massenspeicher öffnen möchten. Bei Bedarf legen Sie hier auch ein neues Projekt an.

Nach dem Klonen oder Laden eines Repos teilt sich das Programmfenster in drei Bereiche: Eine Spalte links zeigt die nach Zweigen geordneten einzelnen Commits, eine weitere Spalte rechts davon die einzelnen Dateien des ausgewählten Commits. Ganz rechts finden Sie den Code der jeweiligen Datei (Abbildung 9).

Abbildung 9: In der dreispaltigen Ansicht von Relagit gewinnen Sie einen guten Überblick über das geöffnete Projekt.

Abbildung 9: In der dreispaltigen Ansicht von Relagit gewinnen Sie einen guten Überblick über das geöffnete Projekt.

Um bei einem neu geladenen Repository die Versionshistorie zu laden, klicken Sie oben rechts auf das Uhrensymbol. Unterschiedliche Branches sehen Sie ein, indem Sie rechts oben auf das Icon mit dem Ast klicken. Zum Synchronisieren eines Repositorys nutzen Sie dagegen den Sync-Button über der mittleren Spalte des Programmfensters.

Direkt aus der Anwendung heraus können Sie verschiedene Editoren nutzen. Dazu stellen die Entwickler eine Dokumentation bereit, die bei der Auswahl eines Editors hilft [6].

Gitnuro

Gitnuro fällt in dieser Vorstellung etwas aus dem Rahmen, da es als Java-Anwendung realisiert ist [7]. Für Linux stehen ein Flatpak und ein portabel einsetzbares Java-Paket bereit [8]. In jedem Fall benötigen Sie eine Java-Laufzeitumgebung ab Version 17 auf dem System. Welche Java-Variante installiert ist, stellen Sie mithilfe des Befehls »java -version« im Terminal fest.

Sie können Gitnuro nach dem Herunterladen entweder in die Menühierarchie der verwendeten Distribution integrieren oder am Prompt mit dem Befehl »java -jar Gitnuro-Version.jar>« starten. Es öffnet sich ein konventionelles Programmfenster, in dem Sie mithilfe dreier zentral angeordneter Schaltflächen ein bestehendes Git-Repository laden oder klonen beziehungsweise ein neues Projekt erstellen.

Bedienung

In der Oberfläche mit Reiterstruktur gibt es zwar eine Schalterleiste für die wichtigsten Transferfunktionen, jedoch keine konventionelle Menüleiste.

Nach dem Laden oder Klonen eines Repositorys teilt sich das Programmfenster in drei Spalten. Links erscheinen die Repo-Bestandteile wie Branches, Tags und Submodule kategorisiert untereinander. In einer breiten Spalte in der Mitte sehen Sie die chronologisch aufgelisteten Commits. In einer Baumansicht des Projekts links davon erkennen Sie auf einen Blick, wann Branches zusammengeführt oder neue angelegt wurden. In der Spalte ganz rechts finden Sie die modifizierten Dateien nach Commit sortiert (Abbildung 10).

Abbildung 10: Auch die Oberfläche von Gitnuro lässt sich einfach verstehen.

Abbildung 10: Auch die Oberfläche von Gitnuro lässt sich einfach verstehen.

Ein Mausklick auf eine der Dateien in der rechten Spalte modifiziert die mittlere Ansicht: Gitnuro blendet die Commit-Liste aus, und stattdessen erscheint dort der Quellcode (Abbildung 11).

Abbildung 11: Der Quellcode wird mehrfarbig dargestellt.

Abbildung 11: Der Quellcode wird mehrfarbig dargestellt.

Die Schalterleiste über den drei Fenstersegmenten bietet verschiedene Transferfunktionen an. Über die Buttons synchronisieren Sie Commits und Branches zwischen dem lokalen System und dem entfernten Server oder legen neue Zweige an.

Rechts in der Leiste finden Sie eine Schaltfläche zum Öffnen eines Terminals, was beim Ausführen von Befehlen auf dem lokalen System den Umweg über die jeweilige Menüstruktur erspart. Durch einen Klick auf den Button ganz links öffnen Sie bei Bedarf über einen Dateimanager weitere Repositories, die Gitnuro in zusätzlichen Reitern visualisiert.

Fazit

Alle hier vorgestellten grafischen Git-Frontends vereinfachen die Arbeit mit der Versionsverwaltung und stellen die wichtigsten Funktionen komfortabel zur Verfügung. Dabei gibt es jedoch Unterschiede im Detail: Ältere Anwendungen haben oft eine konventionelle Oberfläche und gestatten meist nur das Bearbeiten eines einzelnen Repositorys. Moderne Werkzeuge verfügen dagegen über eine Reiterstruktur, sodass sich mehrere Projekte simultan bearbeiten lassen. Die Oberflächen erfordern teils etwas Einarbeitung, da sie manche Funktionen abweichend von den bekannten Konventionen benennen. Schon nach kurzer Zeit sollten jedoch selbst weniger geübte Entwickler mithilfe der GUIs in der Lage sein, ihre Beiträge mit Git zu verwalten. (jlu)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben