Git
Клонирование репозиториев
Поиск…
Синтаксис
- 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
Позже, если потребуется, вы можете получить остальную часть репозитория:
git fetch --unshallow # equivalent of git fetch -–depth=2147483647
# fetches the rest of the repository
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
Клонировать рекурсивно
git clone <url> --recursive
Клонирует репозиторий, а также клонирует все подмодули. Если сами подмодули содержат дополнительные подмодули, Git также будет клонировать их.
Клонирование с использованием прокси-сервера
Если вам нужно загружать файлы с помощью git под прокси-сервером, установить прокси-сервер в системной системе недостаточно. Вы также можете попробовать следующее:
git config --global http.proxy http://<proxy-server>:<port>/