0%
In Bearbeitung

Git – Repository klonen

In Git benutzt du das "Klonen", um eine Kopie eines beliebigen Ziel-Repositorys zu erstellen. Das Ziel-Repository kann remote (extern) oder lokal sein. Du kannst z.B. dein Repository aus einem Remote-Repository klonen, um eine lokale Kopie auf deinem System zu erstellen. Außerdem kannst du Dateien zwischen den beiden Repositories synchronisieren.

Hier eine einfache Darstellung, um den Vorgang zu verdeutlichen:

Der "git clone" Befehl

Der Befehl "git clone" ist eine Anweisung, mit der du eine lokale Kopie eines Remote-Repositorys erstellen kannst. Der Befehl greift auf das Repository über eine Remote-URL zu.

Normalerweise befindet sich das Original-Repository auf einem Server, oft auf einem Dienst wie GitHub, Bitbucket o.ä.. Die URL des Repositorys wird auf den "Origin" verwiesen.

Syntax:

git clone <Repository URL>

Git Repository klonen - Beispiel GitHub

Angenommen, du möchtest ein Repository von GitHub klonen, oder ein bestehendes Repository haben, das einem anderen Benutzer gehört, den du gerne beitragen möchtest. Die Schritte zum Klonen eines Repositorys sind wie folgt:

  1. Öffne GitHub.com und navigiere zur Hauptseite des Repositorys.
  2. Klicke unter dem Namen des Repositorys auf den grünen "Code"-Button
  3. Suche hier nach der URL des Repositories. Diese URL kopierst du in deine Zwischenablage oder in eine leere Textdatei.  Wir brauchen diese im nächsten Schritt.

Öffne Git-Bash und wechsle das aktuelle Arbeitsverzeichnis zu deinem gewünschten Ort (z.B. in den zuvor angelegten "hallo"-Ordner), wo du die lokale Kopie des Repositorys erstellen möchtest.

Benutze den Befehl git clone mit der URL des Repositorys, um eine Kopie des Remote-Repositorys zu erstellen. Siehe den unten stehenden Befehl:

git clone https://github.com/lerneprog/todo-liste

Bestätige jetzt mit Enter. Damit wird dein lokales geklontes Repository erstellt. Das kann einige Sekunden oder Minuten dauer, je nachdem wie groß das Repository ist.

Das Repository mit allen Dateien wurde geklont:

Abbildung: Unser geklonted Repository im Ordner "todo-liste"

Output in Git-Bash:

Klonen eines Repositorys in einen spezifischen Ordner

Git erlaubt es dir, das Repository in ein bestimmtes Verzeichnis zu klonen, ohne vorher in dieses Verzeichnis zu wechseln. Du kannst das Verzeichnis als Argument im Befehl git clone angeben. Siehe den unten stehenden Befehl:

git clone https://github.com/lerneprog/todo-liste "meine-todoapp"

Output in Git Bash:

Der Befehl macht dasselbe wie der vorherige, aber das Zielverzeichnis wird in das angegebene Verzeichnis gewechselt.

Git hat ein anderes Übertragungsprotokoll namens SSH. Das obige Beispiel verwendet das git://-Protokoll, aber du kannst auch http(s):// oder user@server:/path.git verwenden, welches das SSH-Übertragungsprotokoll verwendet.

Einen Git-Branch klonen

Hier sei noch kurz angemerkt, dass du mit Git auch eine Kopie von einem bestimmten Branch aus einem Repository erstellen kannst. Du kannst ein Verzeichnis für den einzelnen Branch erstellen, indem du den Befehl git clone verwendest. Um einen Branch zu klonen, musst du den Namen des Branches mit dem Argument -b  (b für Branch) angeben. Unten findest du die Syntax des Befehls zum Klonen des jeweiligen Git-Branches:

Syntax:

git clone -b <Branch Name> <Repository URL>

Hier ein Beispiel aus der Praxis:

git clone -b master https://github.com/lerneprog/todo-liste "meine-neue-app"

Hier wurde nur der Master-Branch aus dem Haupt-Repository namens "Git-Beispiel"  geklont. Es funktioniert im Grunde genauso wie das Klonen eines kompletten Repositories, mit der zusätzlichen Option -b und dem Branch-Namen. Das war's!

Zusammenfassung

In dieser Lektion hast du ausgiebig gelernt, wie du ein remote sowie lokales Repository klonen kannst. Wir haben dafür unser Beispiel-Repository "todo-liste" von GitHub geklont. Du kannst ein ganzes Repository klonen und einen spezifischen Ordner angeben, wo die geklonten Dateien abgelegt werden sollen. Ebenso hast du gelernt, dass du auch nur einen bestimmten Branch klonen kannst.

In der nächsten Lektion beschäftigen wir uns damit, wie du Repository Änderungen anzeigen lassen kannst.