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