Что создаётся локально после выполнения команды git clone?

«Что создаётся локально после выполнения команды git clone?» — вопрос из категории DevOps, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Команда git clone <url> создаёт полную локальную копию удалённого репозитория Git, включая:

Создаваемые артефакты:

  1. Рабочая директория (working tree) – все файлы проекта на момент клонирования (из ветки по умолчанию, обычно main/master).
  2. Скрытая директория .git – содержит всю внутреннюю структуру Git:
    • Объектную базу данных (commits, trees, blobs, tags).
    • Конфигурацию (config), включая ссылку на удалённый репозиторий под именем origin.
    • Указатели (HEAD, refs) на ветки и теги.
  3. Локальные ветки, соответствующие удалённым веткам origin/<branch>.
  4. Запись об удалённом репозитории origin – URL, из которого было выполнено клонирование.

Примеры команд:

# Клонирование в директорию с именем репозитория
$ git clone https://github.com/user/my-project.git

# Клонирование в указанную директорию
$ git clone https://github.com/user/my-project.git custom-folder

# Клонирование только определённой ветки (--single-branch)
$ git clone --branch develop --single-branch https://github.com/user/my-project.git

Проверка результата:

$ cd my-project
$ git remote -v  # Покажет origin с URL
$ git branch -a  # Покажет локальные ветки и удалённые (origin/...)
$ ls -la         # Покажет файлы проекта и папку .git

После клонирования вы можете сразу начинать работу, делать коммиты, создавать ветки и синхронизироваться с origin через git pull/git push.