git clone (Deutsch)

Hier untersuchen wir den Befehl git clone eingehend. git clone ist ein Git-Befehlszeilenprogramm, das verwendet wird, um ein vorhandenes Repository anzuvisieren und einen Klon oder eine Kopie des Ziel-Repositorys zu erstellen. Auf dieser Seite werden erweiterte Konfigurationsoptionen und häufige Anwendungsfälle von git cloneerläutert., Einige Punkte, die wir hier behandeln werden, sind:

  • Klonen eines lokalen oder Remote-Repositorys
  • Klonen eines nackten Repositorys
  • Mit flachen Optionen, um Repositorys teilweise zu klonen
  • Git URL Syntax und unterstützte Protokolle

Beim Einrichten eines Repositorys haben wir einen grundlegenden Anwendungsfall von git clonebehandelt. Auf dieser Seite werden komplexere Klon-und Konfigurationsszenarien erläutert.,

Zweck: repo-to-repo collaboration development copy

Wenn ein Projekt bereits in einem zentralen Repository eingerichtet wurde, ist der Befehl git clone der häufigste Weg für Benutzer, um eine Entwicklungskopie zu erhalten. Wie git init, ist das Klonen im Allgemeinen ein einmaliger Vorgang. Sobald ein Entwickler eine Arbeitskopie erhalten hat, werden alle Versionskontrollvorgänge und Kollaborationen über sein lokales Repository verwaltet.,

Repo-to-repo Collaboration

Es ist wichtig zu verstehen, dass sich die Idee von Git von einer „Arbeitskopie“ sehr von der Arbeitskopie unterscheidet, die Sie durch Auschecken von Code aus einem SVN-Repository erhalten. Im Gegensatz zu SVN unterscheidet Git nicht zwischen der Arbeitskopie und dem zentralen Repository—sie sind alle vollwertige Git-Repositorys.

Dadurch unterscheidet sich die Zusammenarbeit mit Git grundlegend von SVN. Während SVN von der Beziehung zwischen dem zentralen Repository und der Arbeitskopie abhängt, basiert das Kooperationsmodell von Git auf der Interaktion von Repository zu Repository., Anstatt eine Arbeitskopie im zentralen Repository von SVN zu überprüfen, pushen oder ziehen Sie Commits von einem Repository in ein anderes.

Natürlich hindert Sie nichts daran, bestimmten Git-Repos eine besondere Bedeutung zu geben. Indem Sie beispielsweise einfach ein Git-Repo als „zentrales“ Repository festlegen, können Sie einen zentralisierten Workflow mit Git replizieren. Der Punkt ist, dies wird durch Konventionen erreicht, anstatt in das VCS selbst fest verdrahtet zu sein.,

git clone wird hauptsächlich verwendet, um auf ein vorhandenes Repo zu verweisen und an einem anderen Ort einen Klon oder eine Kopie dieses Repos in einem neuen Verzeichnis zu erstellen. Das ursprüngliche Repository kann sich auf dem lokalen Dateisystem oder auf einem Remotecomputer mit unterstützten Protokollen befinden. Der Befehl git clone kopiert ein vorhandenes Git-Repository. Dies ist eine Art SVN-Checkout, außer dass die „Arbeitskopie“ ein vollwertiges Git-Repository ist—es hat seinen eigenen Verlauf, verwaltet seine eigenen Dateien und ist eine vollständig isolierte Umgebung vom ursprünglichen Repository.,

Zur Vereinfachung erstellt das Klonen automatisch eine Remoteverbindung namens „origin“, die auf das ursprüngliche Repository verweist. Dies macht es sehr einfach, mit einem zentralen Repository zu interagieren. Diese automatische Verbindung wird hergestellt, indem Git refs zu den entfernten Verzweigungsköpfen unter refs/remotes/origin und durch Initialisieren von remote.origin.url und remote.origin.fetch Konfigurationsvariablen erstellt werden.

Ein Beispiel für die Verwendung von git clone finden Sie im Leitfaden zum Einrichten eines Repositorys., Das folgende Beispiel zeigt, wie Sie eine lokale Kopie eines zentralen Repositorys erhalten, das auf einem Server gespeichert ist, auf den unter example.com mit dem SSH-Benutzernamen john zugegriffen werden kann:

git clone ssh://[email protected]/path/to/my-project.git 
cd my-project
# Start working on the project

Der erste Befehl initialisiert ein neues Git-Repository im Ordner my-project auf Ihrem lokalen Computer und füllt es mit dem Inhalt des zentralen Repositorys auf. Anschließend können Sie eine CD in das Projekt einlegen und mit der Bearbeitung von Dateien, dem Festschreiben von Snapshots und der Interaktion mit anderen Repositorys beginnen., Beachten Sie auch, dass die .git Erweiterung aus dem geklonten Repository weggelassen wird. Dies spiegelt den nicht nackten Status der lokalen Kopie wider.

Klonen in einen bestimmten Ordner

git clone <repo> <directory>

Klonen Sie das Repository unter <repo> in den Ordner ~<directory>! auf dem lokalen Computer.

Klonen eines bestimmten Tags

git clone --branch <tag> <repo>

Klonen Sie das Repository unter <repo> und klonen Sie nur die ref für <tag>.,

lonen

git clone -depth=1 <repo>

Klonen Sie das Repository unter <repo> und klonen Sie nur den
– Verlauf von Commits, die durch die Option depth=1. In diesem Beispiel wird ein Klon von <repo> erstellt und nur das neueste Commit wird in das neue geklonte Repo aufgenommen. Flaches Klonen ist am nützlichsten, wenn Sie mit Repos arbeiten, die über einen umfangreichen Commit-Verlauf verfügen. Ein umfangreicher Commit-Verlauf kann zu Skalierungsproblemen wie Speicherplatzbeschränkungen und langen Wartezeiten beim Klonen führen., Ein flacher Klon kann helfen, diese Skalierungsprobleme zu lindern.

Konfigurationsoptionen

git clone-branch

Mit dem Argument -branch können Sie einen bestimmten Zweig angeben, der anstelle des Zweigs geklont werden soll Die entfernte HEAD zeigt normalerweise auf den Master-Zweig. Darüber hinaus können Sie ein Tag anstelle von branch für den gleichen Effekt übergeben.

git clone -branch new_feature git://remoterepository.git

Dieses obige Beispiel würde nur den Zweig new_feature aus dem Remote-Git-Repository klonen., Dies ist ein einfaches Dienstprogramm, mit dem Sie Zeit sparen können, wenn Sie die HEAD – Referenz des Repositorys herunterladen und dann zusätzlich die benötigte Referenz abrufen müssen.

git clone-mirror vs. git clone-bare

git clone-bare

Ähnlich wie git init --bare, wenn das Argument -bare an git clone, übergeben wird, wird eine Kopie des Remote-Repositorys mit einem ausgelassenen Arbeitsverzeichnis erstellt., Dies bedeutet, dass ein Repository mit dem Verlauf des Projekts eingerichtet wird, aus dem gepusht und abgerufen, aber nicht direkt bearbeitet werden kann. Darüber hinaus werden keine Remote-Zweige für das Repo mit dem Repository -bare konfiguriert. Wie git init --bare, dies wird verwendet, um zu erstellen ein repository, dass die Entwickler nicht direkt Bearbeiten.

git clone –mirror

Das Übergeben des Arguments --mirror übergibt implizit auch das Argument --bare., Dies bedeutet, dass das Verhalten von --bare von --mirrorvererbt wird. Dies führt zu einem bloßen Repo ohne bearbeitbare Arbeitsdateien. Darüber hinaus klont --mirror alle erweiterten Refs des Remote-Repositorys und verwaltet die Remote-Verzweigungsverfolgungskonfiguration. Sie können dann git remote update auf dem Spiegel ausführen und alle Refs aus dem Ursprungs-Repo überschreiben. Geben Sie genaue „gespiegelt“ Funktionalität.,

Weitere Konfigurationsoptionen

Eine umfassende Liste weiterer Git-Klonoptionen finden Sie in der offiziellen Git-Dokumentation. In diesem Dokument werden wir auf einige andere gängige Optionen eingehen.

git clone –template

git clone --template=<template_directory> <repo location>

Klont das Repo unter <repo location> und wendet die Vorlage von <template directory> auf den neu erstellten lokalen Zweig an. Eine gründliche Referenz zu Git-Vorlagen finden Sie auf unserer git init Seite.,

Git URLs

Git hat eine eigene URL-Syntax, die verwendet wird, um Remote-Repository-Speicherorte an Git-Befehle zu übergeben. Da git clone am häufigsten in Remote-Repositorys verwendet wird, untersuchen wir hier die Git-URL-Syntax.

Git URL protocols

– SSH

Secure Shell (SSH) ist ein allgegenwärtiges authentifiziertes Netzwerkprotokoll, das auf den meisten Servern standardmäßig konfiguriert ist. Da SSH ein authentifiziertes Protokoll ist, müssen Sie vor der Verbindung Anmeldeinformationen mit dem Hosting-Server einrichten., ssh://host.xz/path/to/repo.git/

– GIT

HTTP

Hyper text transfer protocol. Das Protokoll des Web, am häufigsten für die Übertragung von Web-Seite HTML-Daten über das Internet verwendet. Git kann so konfiguriert werden, dass es über HTTP kommuniziert

Zusammenfassung

In diesem Dokument haben wir uns git clonegenauer angesehen. Die wichtigsten Takeaways sind:
git clone wird verwendet, um eine Kopie eines Ziel-Repos zu erstellen

2. Das Ziel-Repo kann lokal oder remote sein

3. Git unterstützt einige Netzwerkprotokolle, um eine Verbindung zu Remote-Repos herzustellen

4., Es stehen viele verschiedene Konfigurationsoptionen zur Verfügung, die den Inhalt des Klons ändern

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Zur Werkzeugleiste springen