Ein Repository klonen

GitBeginner
Jetzt üben

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.

Remote-Repositories verstehen und ein einfaches Repository klonen

Bevor wir mit dem Klonen beginnen, wollen wir verstehen, was ein Remote-Repository (entferntes 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 Ihnen die Zusammenarbeit mit anderen, indem es einen zentralen Ort bietet, an dem jeder seine Änderungen pushen (hochladen) und Aktualisierungen pullen (herunterladen) kann. Stellen Sie es sich als Cloud-Speicher für Ihren Code vor, jedoch mit den zusätzlichen Vorteilen der Versionskontrolle.

GitHub ist eine der beliebtesten Plattformen für das Hosting von Remote-Git-Repositories. Es bietet eine webbasierte Oberfläche für die Verwaltung von Repositories sowie zusätzliche Funktionen wie Issue-Tracking (Problemverfolgung), Pull Requests (Änderungsanfragen) und Projektmanagement-Tools. Andere ähnliche Plattformen sind GitLab und Bitbucket.

Lassen Sie uns nun ein einfaches Repository von GitHub klonen. Wir verwenden das git-playground-Repository als Beispiel.

Navigieren Sie zunächst zu dem Projektverzeichnis, in dem Sie Ihre lokale Kopie speichern möchten:

cd ~/project

Dieser Befehl ändert Ihr aktuelles Verzeichnis in ~/project. Das Symbol ~ steht für Ihr Home-Verzeichnis, sodass dieser Pfad typischerweise in /home/yourusername/project übersetzt wird.

Lassen Sie uns nun das Repository klonen:

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

Hinweis: Kostenlose Benutzer können sich nicht mit dem Internet verbinden. Upgrade auf Pro, um die unbegrenzten Funktionen freizuschalten.

Lassen Sie uns diesen Befehl aufschlüsseln:

  • 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, führt Git Folgendes aus:

  1. Erstellen Sie ein neues Verzeichnis namens git-playground an Ihrem aktuellen Speicherort (~/project).
  2. Initialisieren Sie ein neues Git-Repository in diesem Verzeichnis.
  3. Richten Sie ein Remote namens "origin" ein, das auf die URL verweist, 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" genannt) aus.

Nachdem der Klonvorgang abgeschlossen ist, sollten Sie eine ähnliche Ausgabe wie diese 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.

Lassen Sie uns nun überprüfen, 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 ändert Ihr aktuelles Verzeichnis in das neu geklonte Repository.

git status

Dieser Befehl zeigt den Status Ihres Arbeitsverzeichnisses an. Sie sollten eine Meldung 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 nun mit dem Remote-Repository auf GitHub verbunden, sodass Sie Aktualisierungen abrufen oder Ihre eigenen Änderungen pushen können (sofern Sie die erforderlichen Berechtigungen haben).

Denken Sie daran, dass das Klonen eines Repositorys Ihnen eine vollständige Kopie aller Projektdateien und der gesamten Git-Historie gibt. Dies bedeutet, dass Sie offline an dem Projekt arbeiten, Änderungen vornehmen, neue Branches (Zweige) erstellen und vieles mehr, alles auf Ihrem lokalen Rechner.

Erkunden Sie das geklonte Repository

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)

Klonen Sie in ein bestimmtes Verzeichnis

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.

Klonen Sie einen bestimmten Branch

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.