Szukaj…


Składnia

  • git clone [<opcje>] [-] <repo> [<katalog>]
  • git clone [--template = <katalog_template>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <nazwa> ] [-b <nazwa>] [-u <upload-pack>] [--reference <repository>] [--dissociate] [--separate-git-dir <git dir>] [--depth <depth> ] [- [no-] single-branch] [--recursive | --recurse-submodules] [- [no-] shallow-submodules] [--jobs <n>] [-] <repository> [<katalog>]

Shallow Clone

Klonowanie ogromnego repozytorium (takiego jak projekt z wieloletnią historią) może zająć dużo czasu lub zakończyć się niepowodzeniem z powodu ilości danych do przesłania. W przypadku, gdy nie musisz mieć dostępnej pełnej historii, możesz wykonać płytki klon:

git clone [repo_url] --depth 1

Powyższe polecenie pobierze tylko ostatnie zatwierdzenie ze zdalnego repozytorium.

Pamiętaj, że możesz nie być w stanie rozwiązać fuzji w płytkim repozytorium. Często dobrym pomysłem jest przyjęcie co najmniej tyle zatwierdzeń, ile trzeba będzie cofnąć, aby rozwiązać fuzje. Na przykład, aby zamiast tego uzyskać ostatnie 50 zatwierdzeń:

git clone [repo_url] --depth 50

Później, jeśli to konieczne, możesz pobrać resztę repozytorium:

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

Zwykły klon

Aby pobrać całe repozytorium, w tym pełną historię i wszystkie gałęzie, wpisz:

git clone <url>

Powyższy przykład umieści go w katalogu o tej samej nazwie co nazwa repozytorium.

Aby pobrać repozytorium i zapisać je w określonym katalogu, wpisz:

git clone <url> [directory]

Aby uzyskać więcej informacji, odwiedź stronę Klonowanie repozytorium .

Sklonuj konkretną gałąź

Aby sklonować określoną gałąź repozytorium, wpisz --branch <branch name> przed adresem URL repozytorium:

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

Aby użyć opcji skrótu dla opcji --branch , wpisz -b . To polecenie pobiera całe repozytorium i pobiera <branch name> .

Aby zaoszczędzić miejsce na dysku, możesz sklonować historię prowadzącą tylko do jednego oddziału za pomocą:

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

Jeśli do polecenia nie zostanie dodany --single-branch , historia wszystkich gałęzi zostanie sklonowana do [directory] . Może to być problem z dużymi repozytoriami.


Aby później cofnąć --single-branch flag i pobrać resztę repozytorium, użyj polecenia:

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

Klonuj rekurencyjnie

1.6.5
git clone <url> --recursive

Klonuje repozytorium, a także klonuje wszystkie podmoduły. Jeśli same submoduły zawierają dodatkowe submoduły, Git również je sklonuje.

Klonuj za pomocą serwera proxy

Jeśli chcesz pobrać pliki za pomocą git pod proxy, ustawienie serwera proxy dla całego systemu nie może być wystarczające. Możesz także spróbować wykonać następujące czynności:

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow