Git
Chapters ▾ 2nd Edition

A3.2 Appendix C: Команды Git - Клонирование и создание репозиториев

Клонирование и создание репозиториев

Существует два способа создать Git репозиторий. Первый — клонировать его из существующего репозитория (например, по сети); второй — создать репозиторий в существующей директории.

git init

Чтобы превратить обычную директорию в Git репозиторий и начать версионировать файлы в ней, просто запустите git init.

Впервые мы продемонстрировали эту команду в главе Создание Git-репозитория на примере создания нового репозитория для последующей работы с ним.

Мы немного поговорили о смене названия ветки по умолчанию с "master" на что-нибудь другое в главе Удалённые ветки.

Мы использовали эту команду для создания чистого репозитория для работы на стороне сервера в главе Размещение голого репозитория на сервере.

Ну и наконец мы немного покопались во внутренностях этой команды в главе Сантехника и Фарфор.

git clone

На самом деле git clone работает как обёртка над некоторыми другими командами. Она создаёт новую директорию, переходит внутрь и выполняет git init для создания пустого репозитория, затем она добавляет новый удалённый репозиторий (git remote add) для указанного URL (по умолчанию он получит имя origin), выполняет git fetch для этого репозитория и, наконец, обновляет вашу рабочую директорию до последнего коммита, используя git checkout.

Команда git clone используется в десятке различных мест в этой книге, но мы перечислим наиболее интересные упоминания.

Первоначальное знакомство происходит в главе Клонирование существующего репозитория, где мы даём немного объяснений и приводим несколько примеров.

В главе Установка Git на сервер мы рассмотрели как использовать опцию --bare, чтобы создать копию Git репозитория без рабочей директории.

В главе Создание пакетов мы использовали git clone для распаковки упакованного с помощью git bundle репозитория.

Наконец, в главе Клонирование проекта с подмодулями мы научились использовать опцию --recursive чтобы упростить клонирование репозитория с субмодулями.

И хотя git clone используется во многих других местах в книге, перечисленные выше так или иначе отличаются от других вариантов использования.