Ein Repository klonen

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie ein Git-Repository klonen und einige erweiterte Klonoptionen erkunden können. Git ist ein leistungsstarkes Versionskontrollsystem, das in der Softwareentwicklung weit verbreitet ist. Das Klonen eines Repositorys ist eine grundlegende Fähigkeit, die es Ihnen ermöglicht, eine lokale Kopie eines Remote-Repositorys zu erstellen. Dadurch können Sie an dem Code arbeiten, Änderungen vornehmen und mit anderen zusammenarbeiten. Dieses Lab ist für Anfänger konzipiert und führt Sie Schritt für Schritt durch den Prozess, wobei der Schwerpunkt auf praktischen Anwendungen des Repository-Klonens liegt.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/clone -.-> lab-387454{{"Ein Repository klonen"}} git/branch -.-> lab-387454{{"Ein Repository klonen"}} git/log -.-> lab-387454{{"Ein Repository klonen"}} end

Remote-Repositories verstehen und ein einfaches Repository klonen

Bevor wir mit dem Klonen beginnen, lernen wir zunächst, was ein Remote-Repository ist und warum es in Git wichtig ist.

Ein Remote-Repository ist eine Version Ihres Projekts, die im Internet oder in einem Netzwerk gehostet wird. Es ermöglicht die Zusammenarbeit mit anderen, indem es einen zentralen Ort bietet, an den alle ihre Änderungen pushen und Updates ziehen können. Stellen Sie sich das wie Cloud-Speicher für Ihren Code vor, mit den zusätzlichen Vorteilen der Versionskontrolle.

GitHub ist eine der beliebtesten Plattformen für die Hosting von Remote-Git-Repositories. Sie bietet eine webbasierte Schnittstelle zur Verwaltung von Repositories sowie zusätzliche Funktionen wie Issue-Tracking, Pull Requests und Projektmanagement-Tools. Andere ähnliche Plattformen sind GitLab und Bitbucket.

Jetzt klonen wir ein einfaches Repository von GitHub. Wir verwenden das git-playground-Repository als Beispiel.

Zunächst navigieren Sie in das Projektverzeichnis, in dem Sie Ihre lokale Kopie speichern möchten:

cd ~/project

Dieser Befehl wechselt Ihr aktuelles Verzeichnis zu ~/project. Das Symbol ~ steht für Ihr Home-Verzeichnis, sodass dieser Pfad normalerweise zu /home/yourusername/project übersetzt wird.

Jetzt klonen wir das Repository:

git clone https://github.com/labex-labs/git-playground.git

Lassen Sie uns diesen Befehl zerlegen:

  • git clone ist der Git-Befehl zum Erstellen einer Kopie eines Repositorys.
  • https://github.com/labex-labs/git-playground.git ist die URL des Repositorys, das wir klonen möchten.

Wenn Sie diesen Befehl ausführen, wird Git Folgendes tun:

  1. Erstellen Sie ein neues Verzeichnis namens git-playground an Ihrem aktuellen Ort (~/project).
  2. Initialisieren Sie ein neues Git-Repository in diesem Verzeichnis.
  3. Richten Sie ein Remote namens "origin" ein, das auf die URL zeigt, von der Sie geklont haben.
  4. Laden Sie alle Daten aus dem Remote-Repository herunter.
  5. Checken Sie eine Arbeitskopie der neuesten Version des Hauptzweigs (normalerweise "master" oder "main") aus.

Nach Abschluss des Klonprozesses sollten Sie eine Ausgabe ähnlich dieser sehen:

Cloning into 'git-playground'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 9 (delta 1), reused 1 (delta 1), pack-reused 7
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.

Jetzt überprüfen wir, ob das Repository erfolgreich geklont wurde:

ls -l

Dieser Befehl listet den Inhalt Ihres aktuellen Verzeichnisses auf. Sie sollten ein neues Verzeichnis namens git-playground sehen.

cd git-playground

Dieser Befehl wechselt Ihr aktuelles Verzeichnis in das neu geklonte Repository.

git status

Dieser Befehl zeigt den Status Ihres Arbeitsverzeichnisses an. Sie sollten eine Nachricht sehen, die angibt, auf welchem Zweig Sie sich befinden (wahrscheinlich "main" oder "master") und dass Ihr Arbeitsverzeichnis sauber ist.

Herzlichen Glückwunsch! Sie haben gerade Ihr erstes Repository geklont. Diese lokale Kopie ist jetzt mit dem Remote-Repository auf GitHub verbunden, sodass Sie Updates abrufen oder Ihre eigenen Änderungen pushen können (wenn Sie die erforderlichen Berechtigungen haben).

Denken Sie daran, dass das Klonen eines Repositorys eine vollständige Kopie aller Projektdateien und der gesamten Git-Geschichte liefert. Das bedeutet, dass Sie offline am Projekt arbeiten, Änderungen vornehmen, neue Zweige erstellen und vieles mehr auf Ihrem lokalen Rechner tun können.

Das geklonte Repository erkunden

Nachdem wir das Repository geklont und uns im Verzeichnis git-playground befinden, lassen Sie uns seinen Inhalt genauer untersuchen.

Zunächst schauen wir uns den Inhalt des Verzeichnisses an:

ls -la

Dieser Befehl zeigt alle Dateien und Verzeichnisse an, einschließlich der versteckten. Sie sollten ein .git-Verzeichnis sehen, das alle Git-bezogenen Informationen für dieses Repository enthält.

Hier ist, was Sie sehen könnten:

  • Reguläre Dateien und Verzeichnisse: Dies sind die eigentlichen Projektdateien, mit denen Sie arbeiten können.
  • .git-Verzeichnis: In diesem versteckten Verzeichnis speichert Git alle seine Nachverfolgungsinformationen.
  • .gitignore-Datei (falls vorhanden): Diese Datei teilt Git mit, welche Dateien oder Verzeichnisse im Projekt ignoriert werden sollen.

Jetzt überprüfen wir den Commit-Verlauf des Repositorys:

git log --oneline

Dies zeigt eine gekürzte Version des Commit-Verlaufs. Jede Zeile repräsentiert einen Commit mit seiner eindeutigen Kennung (Hash) und der Commit-Nachricht.

Das Verständnis der Struktur eines geklonten Repositorys ist für eine effektive Versionskontrolle von entscheidender Bedeutung. Das .git-Verzeichnis enthält alle Informationen, die Git zur Verwaltung von Versionen verwendet, während die anderen Dateien und Verzeichnisse den aktuellen Zustand des Projekts darstellen.

Lassen Sie uns auch die Remote-Repositories überprüfen, die mit diesem lokalen Repository verknüpft sind:

git remote -v

Dieser Befehl zeigt die Remote-Repositories an, die mit Ihrem lokalen Repository verknüpft sind. Sie sollten sehen, dass "origin" auf die GitHub-URL zeigt, von der Sie geklont haben.

origin  https://github.com/labex-labs/git-playground.git (fetch)
origin  https://github.com/labex-labs/git-playground.git (push)

In ein bestimmtes Verzeichnis klonen

Manchmal möchten Sie möglicherweise ein Repository in ein Verzeichnis mit einem anderen Namen klonen. Dies ist nützlich, wenn Sie an mehreren Versionen eines Projekts arbeiten oder wenn Sie dem Verzeichnis einen beschreibenderen Namen geben möchten.

Lassen Sie uns dasselbe Repository erneut klonen, diesmal jedoch in ein Verzeichnis namens my-project:

cd ~/project
git clone https://github.com/labex-labs/git-playground.git my-project

Dieser Befehl macht zwei Dinge:

  1. Er klont das git-playground-Repository.
  2. Er legt die geklonten Dateien in ein neues Verzeichnis namens my-project anstelle von git-playground ab.

Nach Abschluss des Klonprozesses sollten Sie eine Ausgabe ähnlich dieser sehen:

Cloning into 'my-project'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (2/2), done.
remote: Total 9 (delta 1), reused 1 (delta 1), pack-reused 7
Receiving objects: 100% (9/9), done.
Resolving deltas: 100% (1/1), done.

Diese Funktion ist besonders nützlich, wenn:

  • Sie bereits ein Verzeichnis mit demselben Namen wie das Repository haben.
  • Sie dasselbe Repository mehrmals für verschiedene Zwecke klonen möchten.
  • Sie dem Verzeichnis einen Namen geben möchten, der im Kontext Ihrer lokalen Projektstruktur sinnvoller ist.

Denken Sie daran, dass der Name des Verzeichnisses das Git-Repository selbst nicht beeinflusst – es ist nur der Name des Ordners auf Ihrem lokalen Rechner.

Lassen Sie uns den Inhalt unserer neuen Kopie überprüfen:

cd my-project
ls -la
git remote -v

Diese Befehle zeigen Ihnen den Inhalt des my-project-Verzeichnisses und das Remote-Repository, mit dem es verbunden ist.

Flaches Klonen mit Tiefe

Manchmal benötigen Sie möglicherweise nur die neueste Version eines Repositorys ohne dessen vollständige Historie. In solchen Fällen können Sie ein flaches Klonen mit der Option --depth durchführen.

Lassen Sie uns das Repository erneut klonen, diesmal aber nur den neuesten Commit abrufen:

cd ~/project
git clone --depth 1 https://github.com/labex-labs/git-playground.git shallow-repo

Dieser Befehl erstellt ein flaches Klon, bei dem die Historie auf den letzten Commit beschränkt ist. Die Option --depth 1 teilt Git mit, nur den neuesten Commit abzurufen.

Flache Klone können deutlich schneller sein und weniger Speicherplatz auf der Festplatte beanspruchen. Dies ist besonders nützlich für große Repositories, wenn Sie nicht die vollständige Historie benötigen.

Um das flache Klon zu überprüfen, navigieren Sie in das neue Verzeichnis und prüfen Sie das Git-Log:

cd shallow-repo
git log --oneline

Sie sollten nur einen Commit im Log sehen.

Wenn Sie später entscheiden, dass Sie mehr Historie benötigen, können Sie diese abrufen, indem Sie Folgendes verwenden:

Führen Sie diesen Befehl noch nicht aus. Andernfalls wird der Überprüfungsschritt fehlschlagen.

git fetch --unshallow

Dadurch wird die vollständige Historie des Repositorys abgerufen.

Ein bestimmter Branch klonen

Manchmal möchten Sie möglicherweise nur einen bestimmten Branch eines Repositorys klonen. Dies kann nützlich sein, wenn Sie nur an einer bestimmten Funktion oder Version des Projekts interessiert sind.

Lassen Sie uns einen bestimmten Branch des Repositorys klonen:

cd ~/project
git clone -b main https://github.com/labex-labs/git-playground.git branch-repo

Die Option -b main teilt Git mit, nur den main-Branch zu klonen. Ersetzen Sie main durch den Namen des Branches, den Sie klonen möchten, wenn er anders ist.

Nach dem Klonen navigieren Sie in das neue Verzeichnis und prüfen, auf welchem Branch Sie sich befinden:

cd branch-repo
git branch

Sie sollten nur den main-Branch (oder den von Ihnen angegebenen Branch) sehen.

Dieser Ansatz kann Zeit und Speicherplatz sparen, wenn Sie mit großen Repositories arbeiten, bei denen Sie nur einen bestimmten Branch benötigen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie ein Git-Repository klonen und verschiedene erweiterte Klon-Techniken kennengelernt. Wir haben folgende Themen behandelt:

  1. Das Verständnis von Remote-Repositories und das grundlegende Klonen von Repositories
  2. Die Erkundung des Inhalts eines geklonten Repositorys
  3. Das Klonen eines Repositorys in ein bestimmtes Verzeichnis mit einem benutzerdefinierten Namen
  4. Das Erstellen eines flachen Klons mit begrenzter Historie
  5. Das Klonen eines bestimmten Branches eines Repositorys

Mit diesen Fähigkeiten können Sie effizient mit bestehenden Projekten arbeiten, zu Open-Source-Software beitragen und Ihren eigenen Code effektiver verwalten. Denken Sie daran, dass das Klonen nur der Anfang ist – Git bietet viele weitere leistungsstarke Funktionen für die Versionskontrolle und Zusammenarbeit.

Wenn Sie Ihre Reise mit Git fortsetzen, werden Sie feststellen, dass diese verschiedenen Klon-Techniken in verschiedenen Szenarien unglaublich nützlich sein können und Ihnen helfen, Zeit zu sparen und Ihre Projekte effizienter zu verwalten.