Поиск…


Синтаксис

  • git clone [<options>] [-] <repo> [<dir>]
  • git clone [-template = <template_directory>] [-l] [-s] [-no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <name> ] [-b <имя>] [-u <upload-pack>] [--reference <репозиторий>] [--dissociate] [--separate-git-dir <git dir>] [--depth <depth> ] [- [no-] single-branch] [--рекурсивный | --recurse-subodules] [- [no-] мелкие субмодули] [--jobs <n>] [-] <репозиторий> [<каталог>]

Мелкий клон

Клонирование огромного хранилища (например, проект с многолетней историей) может занять много времени или сбой из-за количества передаваемых данных. В случаях, когда вам не нужна полная история, вы можете сделать мелкий клон:

git clone [repo_url] --depth 1

Вышеприведенная команда будет извлекать только последнюю фиксацию из удаленного репозитория.

Имейте в виду, что вы не сможете разрешать слияния в неглубоком хранилище. Часто бывает неплохо взять хотя бы столько коммитов, что вам нужно будет отступить, чтобы разрешить слияния. Например, чтобы вместо этого получить последние 50 коммитов:

git clone [repo_url] --depth 50

Позже, если потребуется, вы можете получить остальную часть репозитория:

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

Обычный клон

Чтобы загрузить весь репозиторий, включая всю историю и все ветви, введите:

git clone <url>

Приведенный выше пример поместит его в каталог с тем же именем, что и имя репозитория.

Чтобы загрузить репозиторий и сохранить его в определенном каталоге, введите:

git clone <url> [directory]

Для получения дополнительной информации посетите Clone a repository .

Клонировать конкретную ветвь

Чтобы клонировать конкретную ветвь репозитория, введите --branch <branch name> до URL- --branch <branch name> репозитория:

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

Чтобы использовать сокращенный вариант для --branch , введите -b . Эта команда загружает весь репозиторий и проверяет <branch name> .

Чтобы сэкономить дисковое пространство, вы можете клонировать историю, ведущую только к одной ветви с:

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

Если --single-branch не добавляется в команду, история всех ветвей будет клонирована в [directory] . Это может быть проблема с большими репозиториями.


Чтобы позже отменить флаг --single-branch и выбрать команду остальной части репозитория:

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

Клонировать рекурсивно

1.6.5
git clone <url> --recursive

Клонирует репозиторий, а также клонирует все подмодули. Если сами подмодули содержат дополнительные подмодули, Git также будет клонировать их.

Клонирование с использованием прокси-сервера

Если вам нужно загружать файлы с помощью git под прокси-сервером, установить прокси-сервер в системной системе недостаточно. Вы также можете попробовать следующее:

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow