Suche…


Syntax

  • git clone [<options>] [-] <repo> [<dir>]
  • git clone [--template = <template_directory>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <Name> ] [-b <Name>] [-u <Upload-Pack>] [--reference <Repository>] [--dissociate] [--separate-git-dir <git dir>] [--depth <Tiefe> ] [- [no-] single-branch] [--recursive | --recurse-submodules] [- [no-] shallow-submodules] [--jobs <n>] [-] <Repository> [<Verzeichnis>]

Flacher Klon

Das Klonen eines großen Repositorys (beispielsweise eines Projekts mit mehrjähriger Historie) kann aufgrund der zu übertragenden Datenmenge sehr lange dauern oder fehlschlagen. Wenn Sie nicht den vollständigen Verlauf zur Verfügung haben müssen, können Sie einen flachen Klon erstellen:

git clone [repo_url] --depth 1

Der obige Befehl holt nur den letzten Commit aus dem Remote-Repository.

Beachten Sie, dass Sie möglicherweise keine Zusammenführungen in einem flachen Repository auflösen können. Es ist oft eine gute Idee, mindestens so viele Commits anzunehmen, dass Sie zurückgehen müssen, um Zusammenführungen aufzulösen. Um beispielsweise die letzten 50 Commits zu erhalten:

git clone [repo_url] --depth 50

Bei Bedarf können Sie später den Rest des Repositorys abrufen:

1.8.3
git fetch --unshallow     # equivalent of git fetch -–depth=2147483647
                          # fetches the rest of the repository
1.8.3
git fetch --depth=1000    # fetch the last 1000 commits

Regelmäßiger Klon

Um das gesamte Repository einschließlich des vollständigen Verlaufs und aller Zweige herunterzuladen, geben Sie Folgendes ein:

git clone <url>

Das obige Beispiel legt es in einem Verzeichnis ab, das den Namen des Repositorys trägt.

Um das Repository herunterzuladen und in einem bestimmten Verzeichnis zu speichern, geben Sie Folgendes ein:

git clone <url> [directory]

Weitere Informationen finden Sie unter Repository klonen .

Klonen Sie einen bestimmten Zweig

Um einen bestimmten Zweig eines Repositorys zu klonen, geben --branch <branch name> vor der Repository-URL --branch <branch name> :

git clone --branch <branch name> <url> [directory]

Um die Abkürzungsoption für --branch , geben Sie -b . Dieser Befehl lädt das gesamte Repository herunter und checkt <branch name> .

Um Speicherplatz zu sparen, können Sie die Historie klonen, die nur zu einem Zweig führt, mit:

git clone --branch <branch_name> --single-branch <url> [directory]

Wenn --single-branch nicht zum Befehl hinzugefügt wird, wird der Verlauf aller Zweige in [directory] geklont. Dies kann bei großen Repositorys auftreten.


Um später das Flag --single-branch rückgängig zu machen und den Rest des Repositorys abzurufen, verwenden Sie den Befehl:

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin

Klonen Sie rekursiv

1.6.5
git clone <url> --recursive

Klont das Repository und auch alle Submodule. Wenn die Submodule selbst zusätzliche Submodule enthalten, werden diese auch von Git kopiert.

Klonen mit einem Proxy

Wenn Sie Dateien mit git unter einem Proxy herunterladen müssen, kann es nicht ausreichen, den Proxy-Server systemweit einzustellen. Sie könnten auch folgendes versuchen:

git config --global http.proxy http://<proxy-server>:<port>/


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow