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:

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

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

1.6.5
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>/


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow