Ein Angebot von

Git-Tutorial: Git und die wichtigsten Befehle kennenlernen

| Autor / Redakteur: Mirco Lang / Stephan Augsten

Git dient allem voran dazu, Änderungen an Dateien so zu speichern und aufzuzeichnen, dass sie jederzeit nachvollziehbar sind.
Git dient allem voran dazu, Änderungen an Dateien so zu speichern und aufzuzeichnen, dass sie jederzeit nachvollziehbar sind. (Bild: Clipdealer)

Git kennt vermutlich jeder, der irgendetwas mit Informationstechnik am Hut hat. Aber wie die Versionsverwaltung funktioniert, steht auf einem ganz anderen Blatt. Wer einen einfachen, praxisnahen Einstieg sucht, ist hier richtig.

Git scheint heute omnipräsent: Als Versionsverwaltung hat Git fast überall die Konkurrenz abgehängt und der Marktplatz Github hat die Vorherrschaft von Sourceforge beendet. Erfahrene Entwickler neigen dazu, von Git regelrecht zu schwärmen. Beginner hingegen fluchen eher ob der hohen Einstiegshürde. Auch IT-Manager, Technikjournalisten und sonstige Interessierte abseits der Kernzielgruppe haben es schwer, sich „mal eben” einen Eindruck zu verschaffen. Dabei verhält es sich bei Git ähnlich wie beim Skat: Das Spiel ist nicht sonderlich kompliziert – wird aber oft schlecht erklärt. Für Git gibt es viele Tutorials – auch sehr gute. Was macht dieses Tutorial anders?

Zum einen werden Sie hier nur sehr kurz mit dem technischen Hintergrund traktiert. Im Grunde verzichten wir auf den theoretischen Unterbau samt Fachvokabular – in der Überzeugung, dass Sie diesen einfacher verstehen werden, wenn Sie erstmal ein paar praktische Aktionen durchgeführt haben. So ganz ohne geht es leider nicht. Zum anderen versuchen wir, die wichtigsten Befehle in einer einfachen, gebräuchlichen Form zu erläutern und verzichten auf die ausführliche Beschreibung aller Optionen.

Git-Tutorial: Ein typischer Git-Arbeitstag

Git-Tutorial: Ein typischer Git-Arbeitstag

25.06.18 - In diesem Git-Tutorial gehen wir einen vereinfachten, aber praktischen Arbeitstag mit entferntem Git-Repository, Teamarbeit und Dateikonflikten durch. Denn der Reiz der verteilten Versionsverwaltung liegt nun einmal in den Collaboration-Funktionen. lesen

  • In diesem ersten Teil finden Sie zunächst eine kurze Einführung zur Funktionsweise und anschließend eine Anleitung, um ein lokales Repository zu erstellen, Dateien hinzuzufügen sowie Änderungen zu machen und einzusehen.
  • Im zweiten Teil arbeiten Sie sich dann Schritt für Schritt durch einen typischen, einfachen Arbeitstag mit Git, vom Aktualisieren über das Modifizieren von Dateien und den Umgang mit Konflikten bis zum Veröffentlichen Ihrer Arbeiten auf einem entfernten Git-Server wie beispielsweise Github.
  • Der dritte Teil widmet sich dann erweiterten und nicht ganz trivialen Werkzeugen, die nicht täglich, aber bei größeren Projekten doch regelmäßig anstehen: Zurücksetzen, Verzweigungen erstellen und wieder verschmelzen sowie das Aussetzen/Zurückstellen von Änderungen.

Was ist Git?

Git nennt sich Source Code Management System, meist spricht man von Versionsverwaltung, und in der Praxis macht Git vor allem eines: Änderungen an Dateien so zu speichern und aufzuzeichnen, dass sie jederzeit nachvollziehbar sind. Sie fügen Dateien hinzu, machen Änderungen, speichern diese und sichern sie optional auf einem entfernten Server. Für jeden Speichervorgang wird ein Marker gesetzt, der später erneut aufgerufen werden kann.

Ein erster wichtiger Punkt für das Verständnis: Git speichert im Gegensatz zu Backup-Programmen oder den meisten sonstigen Versionsverwaltungen keine neuen Dateien. Weder Kopien veränderter Dateien, noch Dateien, die nur die Änderungen enthalten. Wenn Sie auf Dateisystemebene in Ihren Git-Ordner schauen, finden Sie dort immer nur die jeweils aktuellen Versionen der Dateien, die Sie selbst hinzugefügt haben.

Git sieht sich eher als Dateisystem und Speicherpunkte als Snapshots: Sobald Sie Änderungen an Dateien speichern, wird Git-intern ein Schnappschuss des aktuellen Status des Dateisystems/aller Dateien abgelegt. Und das gilt auch für das Löschen von Inhalten oder Dateien – Git fügt immer nur hinzu! Inhalte oder Dateien tatsächlich zu verlieren, ist bei Git eigentlich nur mutwillig zu schaffen.

Der zweite Punkt: Bei Git passiert alles lokal. Weder für Tools noch die historischen Daten benötigen Sie eine Verbindung zu einem Server. Wenn Sie im Team arbeiten, werden Sie lediglich Ihre Bearbeitungen hoch- und die der anderen Teammitglieder herunterladen.

Ebenfalls wichtig: Ein Git-Repository ist nur und ausschließlich der eine Ordner, den Sie bei einem neuen Projekt festlegen. Darin befinden sich zum einen all Ihre Dateien und Ordner und zum anderen ein versteckter Ordner „.git”, der sämtliche Verwaltungsdaten und Snapshots enthält. Und somit ist Ihre komplette Git-Arbeitsumgebung portabel, den Ordner können Sie zum Beispiel auf einem USB-Datenträger immer dabeihaben.

Im Folgenden lernen Sie, wie Sie ein Repository erstellen (init), Dateien und Änderungen hinzufügen (add), geänderte Dateien prüfen (diff, status), Änderungen anwenden (commit) und prüfen (log, show).

Git für die erste Verwendung einrichten

Unter vielen Linux-Distributionen ist Git bereits vorinstalliert, generell funktioniert die Installation aber über den jeweiligen Paketmanager, im Debian-/Ubuntu-Umfeld also beispielsweise mittels:

apt-get install git

Git for Windows ist ein eigenständiges Projekt und besteht aus der Git Bash und der Git GUI. Über die Bash steht dieselbe Arbeitsumgebung zur Verfügung wie unter Linux. Die Git GUI als grafische Alternative hat nicht allzu viele Freunde. Insbesondere Einsteiger werden die erhoffte Vereinfachung kaum finden. Git for Windows steht als reguläre Installationsdatei sowie als Chocolatey-Paket zur Verfügung.

In beiden Umgebungen sollten Sie zunächst ein eigenes Git-Arbeitsverzeichnis anlegen, beispielsweise „git” direkt unterhalb des Nutzerverzeichnisses.

Git: Die wichtigsten Befehle

Repository anlegen: Zunächst erstellen Sie ein neues Projekt. Legen Sie im Git-Arbeitsverzeichnis ein Verzeichnis „meinprojekt” für das Repository an. Wechseln Sie in das Verzeichnis und führen Sie …

git init

… aus. Git initialisiert damit den aktuellen, leeren Ordner als Repository.

Dateien hinzufügen: Kopieren Sie für den Anfang zwei beliebige Dateien in das Repository. Oder erzeugen Sie einfach zwei mit …

touch test test2

Der status-Befehl listet geänderte und nicht hinzugefügte Dateien kurz und übersichtlich auf.
Der status-Befehl listet geänderte und nicht hinzugefügte Dateien kurz und übersichtlich auf. (Bild: Lang / git)

…, das genügt. Führen Sie nun ein …

git status

… aus. Es folgt eine Statusanzeige, die Ihnen die beiden Dateien in roter Schrift aufführt: Sie sind „untracked”, also noch nicht von Git erfasst. Um die Datei „test” hinzuzufügen, nutzen Sie:

git add test

Tipp: Nach „git add” steht die Autovervollständigung per TAB zur Verfügung. Um alle aufzunehmen, genügt ein

git add .

Ab sofort werden Änderungen an den Dateien verfolgt. Ein erneutes „git status” gibt die Dateien in grüner Schrift als „new file” an.

Ersten Snapshot erstellen: Die Dateien werden nun verfolgt, sind aber noch nicht als erste Version im System hinterlegt – also noch nicht gespeichert. In Git nennt sich dieses Speichern committen und der Befehl für eine einzelne Datei lautet dann zum Beispiel:

git commit -m „Commit-Nachricht: Fehler korrigiert” test

Nach einem Commit verschwinden geänderte Dateien aus der Status-Anzeige – nicht hinzugefügte bleiben (in Rot) bestehen.
Nach einem Commit verschwinden geänderte Dateien aus der Status-Anzeige – nicht hinzugefügte bleiben (in Rot) bestehen. (Bild: Lang / git)

Alternativ können Sie …

git commit test

… nutzen. Dann öffnet sich der Standardeditor, in dem Sie eine Commit-Nachricht verfassen können. Diese sollte kurz aufzeigen, welche Änderungen Sie in diesem Commit speichern. Mittels …

git commit -am „Commit-Nachricht: Mehrere Dateien korrigiert”

committen Sie alle (-a) getrackten, geänderten Dateien auf einmal. „git status” zeigt anschließend keinerlei Dateien mehr an, außer gegebenenfalls noch nicht per „add” hinzugefügte.

Dateien modifizieren: Ändern Sie nun eine der Dateien, fügen Sie etwa der „test” etwas Text hinzu; auch hier genügt wieder der Minimalaufwand:

echo hallo > test

Wieder rufen Sie „git status” auf und sehen nun wieder in roter Schrift, dass eine überwachte Datei geändert wurde.

Geänderte Dateien prüfen: Bevor Sie nun wieder committen, wollen Sie vielleicht noch die Änderungen überprüfen, die Sie gemacht haben. Mit …

git diff test

… wird nun die Datei „test” samt Änderungen ausgegeben: Neue Inhalte sind in grüner Schrift gehalten, gelöscht in roter – dieses Konzept zieht sich quer durch Git. Ist alles in Ordnung, committen Sie wieder mit:

git commit -m „Text hinzugefügt” test

Commits einsehen: Um alle Commits aufzulisten, rufen Sie …

git log

… auf. Sie bekommen eine Liste mit dem den Commit-Bezeichnungen in Form von Hash-Werten sowie Nutzername, Änderungszeit und der Commit-Nachricht.

Wenn Sie nun einen einzelnen Commit im Detail anschauen wollen, genügt ein simples:

git show Hash-Wert

Tipp (für Windows-Nutzer): Wenn Sie den Hash-Wert per Doppelklick markieren, können Sie ihn direkt mit der mittleren Maustaste einfügen, ohne ihn separat kopieren zu müssen – unter Linux das normale Verhalten.

Git noch weiter verstehen

Zum Schluss noch ein Befehl, der helfen sollte, Git noch weiter zu verstehen: Löschen Sie einfach einmal alle Dateien, die Sie erstellt haben und geben Sie dann den Befehl …

git checkout .

… ein – schon sind alle Dateien wieder da. Mit „checkout” werden hier alle (.) Dateien mit dem Stand des letzten Commits erstellt – aus den Snapshots, die eben durch jeden commit-Befehl im Ordner „.git” angelegt werden. Eine einzelne Datei lässt sich mit folgendem Befehl zurücksetzen:

git checkout -- test

Sie können natürlich auch eine Dateiversion mit dem Stand eines früheren Commits auschecken:

git checkout HEAD^ -- test

Mit der Einführung von „HEAD” wird nun aber doch wieder etwas Hintergrundwissen notwendig, das wir in Teil 3 des Git-Tutorials vermitteln.

Dieser Beitrag stammt von unserem Partnerportal Dev-Insider.de.

Microsoft übernimmt GitHub für 7,5 Milliarden US-Dollar

Microsoft übernimmt GitHub für 7,5 Milliarden US-Dollar

04.06.18 - Als Teil seiner Ausbaustrategie, speziell mit Fokus auf sein Cloud-Angebot, hat Microsoft die Online-Plattform GitHub für 7,5 Milliarden US-$ gekauft. Mehr als 28 Millionen Entwickler nutzen den Dienst, um ihre Projekte zu teilen oder mit Hilfe anderer zu verbessern. lesen

Linux Foundation zur GitHub-Übernahme: „Wir sollten Microsofts cleveren Schritt feiern!“

Linux Foundation zur GitHub-Übernahme: „Wir sollten Microsofts cleveren Schritt feiern!“

12.06.18 - Der Kauf von GitHub durch Microsoft hat für mächtig Wirbel unter den Nutzern des Open-Source-Dienstes gesorgt. Nun nimmt auch die Linux Foundation dazu Stellung. Deren Antwort mag viele überraschen. lesen

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45353661 / Open Source)