Git
Repositorys klonen
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:
git fetch --unshallow # equivalent of git fetch -–depth=2147483647
# fetches the rest of the repository
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
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>/