Git
Kloningsförvar
Sök…
Syntax
- git klon [<options>] [-] <repo> [<dir>]
- git clone [--template = <template_directory>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <name> ] [-b <namn>] [-u <uppladdning-pack>] [- referens <förvar>] [- dissociate] [- separate-git-dir <git dir>] [- djup <depth> ] [- [ingen-] enkelgren] [- rekursiv | - recurse-submodules] [- [no-] shallow-submodules] [--jobs <n>] [-] <repository> [<bibliotek>]
Grunt klon
Kloning av ett enormt arkiv (som ett projekt med flera års historia) kan ta lång tid eller misslyckas på grund av mängden data som ska överföras. I de fall du inte behöver ha hela historiken tillgänglig kan du göra en grunt klon:
git clone [repo_url] --depth 1
Ovanstående kommando hämtar bara det sista åtagandet från fjärrlagret.
Var medveten om att du kanske inte kan lösa sammanslagningar i ett grunt arkiv. Det är ofta en bra idé att ta minst lika många åtaganden som du kommer att behöva backtrack för att lösa sammanslagningar. För att istället få de senaste 50 åtagandena:
git clone [repo_url] --depth 50
Senare, om det behövs, kan du hämta resten av förvaret:
git fetch --unshallow # equivalent of git fetch -–depth=2147483647
# fetches the rest of the repository
git fetch --depth=1000 # fetch the last 1000 commits
Vanlig klon
För att ladda ner hela förvaret inklusive hela historiken och alla grenar skriver du:
git clone <url>
Exemplet ovan kommer att placera det i en katalog med samma namn som förvarets namn.
Om du vill ladda ner förvaret och spara det i en specifik katalog skriver du:
git clone <url> [directory]
För mer information, besök Clone a repository .
Klon en specifik gren
Om du vill klona en specifik gren i ett förvar skriver du - --branch <branch name>
före förvarens url:
git clone --branch <branch name> <url> [directory]
Om du --branch
använda det korta alternativet för - --branch
, skriv -b
. Detta kommando laddar ner hela förvaret och kontrollerar <branch name>
.
För att spara diskutrymme kan du klona historia som bara leder till en enda gren med:
git clone --branch <branch_name> --single-branch <url> [directory]
Om --single-branch
inte läggs till i kommandot, klonas historia för alla grenar till [directory]
. Detta kan vara problem med stora förvar.
För att senare ångra - att --single-branch
flagga och hämta resten av förvaret använda kommandot:
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Klon rekursivt
git clone <url> --recursive
Klonar förvaret och klonerar också alla undermoduler. Om undermodulerna själva innehåller ytterligare undermoduler kommer Git också att klona dessa.
Klon med en proxy
Om du behöver ladda ner filer med git under en proxy kan det inte räcka med att ställa in proxyserver över hela systemet. Du kan också prova följande:
git config --global http.proxy http://<proxy-server>:<port>/