Git
Chapters ▾ 2nd Edition

2.1 Git Grundlagen - Ein Git Repository anlegen

Wenn Sie nur ein Kapitel durcharbeiten können/wollen, um mit Git zu beginnen, dann ist dieses hier das richtige. Dieses Kapitel behandelt alle grundlegenden Befehle, die Sie benötigen, um die überwiegende Anzahl der Aufgaben zu erledigen, die Sie irgendwann einmal mit Git erledigen werden. Am Ende des Kapitels sollten Sie in der Lage sein, ein neues Repository anzulegen und zu konfigurieren, Dateien zu versionieren bzw. aus der Versionsverwaltung zu entfernen, Dateien in die Staging-Area hinzuzufügen und schließlich einen Commit durchzuführen. Außerdem wird gezeigt, wie Sie Git so konfigurieren können, dass es bestimmte Dateien und Dateimuster ignoriert, wie Sie Fehler schnell und einfach rückgängig machen, wie Sie die Historie eines Projekts durchsuchen und Änderungen zwischen Commits nachschlagen, und wie Sie von einem Remote-Repository Daten herunter- bzw. dort hochladen können.

Ein Git Repository anlegen

Sie haben zwei Möglichkeiten, ein Git Repository auf Ihrem Rechner anzulegen.

  1. Sie können ein lokales Verzeichnis, das sich derzeit nicht unter Versionskontrolle befindet, in ein Git-Repository verwandeln, oder

  2. Sie können ein bestehendes Git-Repository von einem anderen Ort aus klonen.

In beiden Fällen erhalten Sie ein einsatzbereites Git-Repository auf Ihrem lokalen Rechner.

Ein Repository in einem bestehenden Verzeichnis einrichten

Wenn Sie ein Projektverzeichnis haben, das sich derzeit nicht unter Versionskontrolle befindet, und Sie mit der Kontrolle über Git beginnen möchten, müssen Sie zunächst in das Verzeichnis dieses Projekts wechseln. Wenn Sie dies noch nie getan haben, sieht es je nachdem, welches System Sie verwenden, etwas anders aus:

für Linux:

$ cd /home/user/my_project

für macOS:

$ cd /Users/user/my_project

für Windows:

$ cd /c/user/my_project

dann folgenden Befehl eingeben:

$ git init

Der Befehl erzeugt ein Unterverzeichnis .git, in dem alle relevanten Git Repository Daten enthalten sind, also ein Git Repository Grundgerüst. Zu diesem Zeitpunkt werden noch keine Dateien in Git versioniert. (In Kapitel 10, Git Interna, finden Sie weitere Informationen, welche Dateien im .git Verzeichnis enthalten sind und was ihre Aufgabe ist.)

Wenn Sie bereits existierende Dateien versionieren möchten (und es sich nicht nur um ein leeres Verzeichnis handelt), dann sollten Sie den aktuellen Stand in einem initialen Commit starten. Mit dem Befehl git add legen Sie fest, welche Dateien versioniert werden sollen und mit dem Befehl git commit erzeugen Sie einen neuen Commit:

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

Wir werden gleich noch einmal genauer auf diese Befehle eingehen. Im Moment ist nur wichtig, dass Sie verstehen, dass Sie jetzt ein Git Repository erzeugt und einen ersten Commit angelegt haben.

Ein existierendes Repository klonen

Wenn Sie eine Kopie eines existierenden Git Repositorys anlegen wollen – um beispielsweise an einem Projekt mitzuarbeiten – können Sie den Befehl git clone verwenden. Wenn Sie bereits Erfahrung mit einem anderen VCS System, wie Subversion, gesammelt haben, fällt Ihnen bestimmt sofort auf, dass der Befehl „clone“ und nicht etwa „checkout“ lautet. Das ist ein wichtiger Unterschied, den Sie unbedingt verstehen sollten – Anstatt nur eine einfache Arbeitskopie vom Projekt zu erzeugen, lädt Git nahezu alle Daten, die der Server bereithält, auf den lokalen Rechner. Jede Version von jeder Datei der Projekt-Historie wird automatisch heruntergeladen, wenn Sie git clone ausführen. Wenn Ihre Serverfestplatte beschädigt wird, können Sie oft nahezu jeden der Klone auf irgendeinem Client verwenden, um den Server wieder in den Zustand zurückzusetzen, in dem er sich zum Zeitpunkt des Klonens befand (Sie werden vielleicht einige serverseitige Hooks und dergleichen verlieren, aber alle versionierten Daten wären vorhanden – siehe Kapitel 4, Git auf dem Server, für weitere Details).

Sie können ein Repository mit dem Befehl git clone [url] klonen. Um beispielsweise das Repository der verlinkbaren Git Bibliothek libgit2 zu klonen, führen Sie den folgenden Befehl aus:

$ git clone https://github.com/libgit2/libgit2

Git legt dann ein Verzeichnis libgit2 an, initialisiert in diesem ein .git Verzeichnis, lädt alle Daten des Repositorys herunter, und checkt eine Arbeitskopie der aktuellsten Version aus. Wenn Sie in das neue libgit2 Verzeichnis wechseln, finden Sie dort die Projektdateien und können gleich damit arbeiten.

Wenn Sie das Repository in ein Verzeichnis mit einem anderen Namen als libgit2 klonen möchten, können Sie das wie folgt durchführen:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Dieser Befehl tut das gleiche wie der vorhergehende, aber das Zielverzeichnis lautet diesmal mylibgit.

Git unterstützt eine Reihe unterschiedlicher Übertragungsprotokolle. Das vorhergehende Beispiel verwendet das https:// Protokoll, aber Ihnen können auch die Angaben git:// oder user@server:path/to/repo.git begegnen, welches das SSH-Transfer-Protokoll verwendet. Kapitel 4, Git auf dem Server, stellt alle verfügbaren Optionen vor, die der Server für den Zugriff auf Ihr Git-Repository hat und die Vor- und Nachteile der einzelnen Optionen, die man einrichten kann.