GUI für Git

Raus aus dem Terminal in eine grafische Oberfläche. So benutzt man Git-Befehle mit einem GUI-Client.

vorlesen Druckansicht
Man sieht einen Laptop auf einer Werkbank stehen, auf dem das Git-Logo angezeigt wird.
Lesezeit: 5 Min.
Von
  • Daniel Schwabe
Inhaltsverzeichnis

Im Heftartikel haben wir gezeigt, wie man mit Git im Terminal die Versionsverwaltung direkt auf der Kommandozeile meistert. Doch nicht jeder fühlt sich im Terminal zu Hause. Genau hier kommt GitHub Desktop ins Spiel – ein lokales Programm, das eine grafische Oberfläche für Git bietet. Dadurch werden aus eingetippten befehlen einfache Klicks auf Bedienelemente. In diesem ergänzenden Online-Tutorial erklären wir, wie man GitHub Desktop installiert und die im Heft vorgestellten Funktionen für das lokale Versionsmanagement in dieser Software nutzt.

Folgend wird GitHub Desktop als Beispiel verwendet, um die Nutzung von Git mit grafischen Programmen zu erklären. Es gibt jedoch viele weitere Tools, die eine ähnliche Bedienung für Git ermöglichen. Eine Liste ist am Ende des Artikels verlinkt.

Um GitHub-Desktop zu installieren, lädt man von der offiziellen Website die Installationsdatei herunter und führt diese mit Doppelklick aus.

Direkt am Anfang fragt die Installationsroutine nach einem GitHub-Account. Für die lokale Nutzung ist so ein Account nicht erforderlich. Deshalb überspringt man diesen Schritt mit „Skip this step“.

Bei der Installation muss man keinen Account anlegen. Man kann den Schritt überspringen.

Nachdem man diesen Schritt übersprungen hat, kommt die Einrichtung für eine Git-Identität. Die wurde schon im Heftartikel behandelt. Hat man bereits über die Kommandozeile Daten hinterlegt, werden diese automatisch eingetragen und können mit „Finish“ übernommen werden. Ist das noch nicht geschehen, trägt man einen Namen und eine E-Mail-Adresse ein, mit der jeder Commit gekennzeichnet werden soll.

Und damit ist der Client auch schon fertig installiert.

Nach der Installation sieht GitHub Desktop so aus.

Im „Let‘s get started!“-Fenster bekommt man drei Optionen. Entweder ein Repository aus dem Internet zu laden, ein lokales neu zu erstellen, oder ein existierendes im Client zu öffnen.

Die erste Option ist für Features gedacht, die nichts mit der lokalen Versionsverwaltung zu tun haben. Deshalb überspringen wir sie und schauen uns die anderen beiden Schaltflächen an.

Wenn man auf „Create a New Repository on your local drive“ klickt, öffnet sich ein einfacher Dialog, in dem man einen Namen, eine Beschreibung und den Speicherort für das Repository angeben muss.

Um ein neues Repository zu initialisieren, gibt man ihm einen Namen und einen Speicherpfad.

Die Checkbox „initialize this repository with a README“ legt nach dem Erstellen des Repositorys direkt eine erste Textdatei an, die Readme.md heißt. Das ist optional.

Hat man alles eingegeben und klickt auf „Create repository“, wird ein neues Repository angelegt. Das entspricht dem Befehl git init aus der Kommandozeile.

Möchte man ein bereits bestehendes Repository in die grafische Verwaltung hinzufügen, klickt man auf „Add an Existing Repository from your local drive“ und wählt im sich öffnenden Fenster ganz einfach den Speicherort eines Repositorys aus und klickt wieder auf „Add repository“.

So sieht der Client aus, wenn man ein neues Repository angelegt hat.

Hat man dem Client ein Repository hinzugefügt, wechselt die Ansicht in der Bedienoberfläche.

Über „Current repository“ in der oberen linken Ecke kann man zwischen den im Client verwalteten Repositorys hin- und herschalten. Klickt man auf den Button, öffnet sich eine Liste mit allen verfügbaren Repositorys. Dort kann man auch neue Repositorys hinzufügen. Daneben befindet sich die Schaltfläche „Current branch“. Damit kann man zwischen den Branches des geöffneten Projektes wechseln. Hier befindet sich auch die Schaltfläche, um einen neuen Branch anzulegen.

Um einen Branch anzulegen, braucht man nur einen Namen anzugeben.

Auf der linken Seite befindet sich der aktuelle Status des Repositorys. Haben sich seit dem letzten Commit Dateien verändert, wird das hier angezeigt.

Auf der linken Seite der Repository-Verwaltung sieht man, ob es Änderungen gibt.

Mit den Kontrollkästchen neben den Dateinamen in der Liste können Dateien und Änderungen für einen Commit vorgemerkt werden. Das entspricht dem Befehl git add.

Am unteren Ende der Anzeige können eine Commitmessage und eine Beschreibung eingegeben werden. Mit „Commit to main“ (main ist abhängig vom ausgewählten Branch) wird der Befehl git commit ausgeführt und ein Rücksetzpunkt erstellt.

Klickt man oben in der Anzeige auf History, wird einem eine Liste mit Commits angezeigt. Auf der rechten Seite erscheinen die Inhalte dieser Commits (Änderungen in Dateien und neu hinzugefügte Dateien).

Unter "Historie" sieht man alle Commits für ein Repository.

Auf jeden dieser Commits kann man einen Rechtsklick machen, um mehr Optionen zu erhalten.

Mit einem Rechtsklick auf einen Commit bekommt man weitere Funktionen angezeigt.

Hier befinden sich mit „Revert changes in commit“ der git revert Befehl und mit „Reset to Commit“ der git reset befehl.

Neben GitHub-Desktop gibt es noch weitere Möglichkeiten, Repositorys grafisch zu verwalten. Die meisten dieser Tools verwenden die standardisierten Bezeichnungen und labeln ihre Schaltflächen auch mit deren Funktionen.

Viele IDEs können direkt Repositorys verwalten. Beispielsweise besitzt der Code-Editor VS Code die Option, ein Repository direkt zu verwalten.

VS Code hat einen eingebauten Git-Client.

Weitere IDEs mit integrierter Git-Unterstützung sind Eclipse und IntelliJ für Java, PyCharm für Python oder PHPStorm für PHP-Entwicklung.

Für weitere Stand-Alone-Clients für die Gitverwaltung gibt es hier auf alternativeto.net eine Liste mit interessanten Open-Source-Alternativen.

Git init Erstellt ein neues Git-Repository im aktuellen Verzeichnis.
git add <Datei/Ordner> Merkt Dateien oder Verzeichnisse für den nächsten Commit vor. Git add * merkt alle Dateien vor.
git commit -m "<Nachricht>" Speichert die Änderungen in der Historie mit einer Nachricht.
git status Zeigt den aktuellen Status des Repositorys. Änderungen, die für einen Commit vorgemerkt sind, werden grün angezeigt, nicht vorgemerkte Änderungen rot.
git log Listet die Historie der Commits im Repository auf.
git branch Zeigt eine Liste der vorhandenen Branches
git branch <Name> Erstellt einen neuen Branch.
git checkout <Branch> Wechselt zu einem anderen Branch.
git merge <Branch> Führt die Änderungen eines anderen Branches in den aktuellen Branch zusammen.
git reset --hard Löscht Änderungen seit dem letzten Commit.
git clean Entfernt nicht versionierte Dateien aus dem Arbeitsverzeichnis. Mit -d werden auch Verzeichnisse gelöscht.
git revert <Commit-ID> Macht Änderungen eines bestimmten Commits rückgängig und erzeugt einen neuen Commit ohne diese Änderungen.

Videos by heise

(das)