Команды Git

git clone

git clone: клонировать удалённый репозиторий в новую директорию.

Команда git clone создаёт локальную копию удалённого репозитория Git. Она создаёт новую директорию, инициализирует в ней репозиторий Git и скачивает всё содержимое удалённого источника. Ещё команда настраивает ветки удалённого отслеживания для каждой ветки в проекте, а затем автоматически создаёт начальную локальную ветку на основе активной ветки удалённого репозитория и переключается на неё.

Во время клонирования Git автоматически устанавливает связь с оригинальным удалённым репозиторием. Это позволяет легко синхронизировать локальную копию с любыми обновлениями на сервере. Обычно такое подключение получает имя origin.

Команда git clone незаменима, когда нужно подключиться к существующему удалённому проекту, поработать вместе с командой на GitHub, GitLab или других платформах, либо просто сделать локальную резервную копию репозитория. После клонирования у тебя появляется полный доступ ко всей истории проекта и всем его веткам. Теперь можно спокойно работать автономно: удалённый репозиторий не изменится, пока не придёт время отправить свои правки.

Хотя git clone в основном применяют для удалённых репозиториев, технически этой командой можно клонировать и локальные. Например:

git clone /path/to/local/repository new-copy

Но на практике это редко нужно. Чтобы сделать копию локального репозитория, обычно проще создать новый репозиторий и просто скопировать файлы, либо использовать git worktree для работы в нескольких директориях в рамках одного репозитория.

Примеры

Клонировать репозиторий с GitHub на локальную машину:

git clone https://github.com/username/repository.git

Клонировать репозиторий в конкретную директорию:

git clone https://github.com/username/repository.git my-project

Клонировать репозиторий с определённой веткой и без скачивания полной истории (поверхностное клонирование):

git clone --branch develop --depth 1 https://github.com/username/repository.git

Клонировать репозиторий со всеми подмодулями (submodules):

git clone --recursive https://github.com/username/repository.git