
Git хранит изменения в виде снимков файловой структуры, поэтому создание новой директории требует не только её физического создания на диске, но и добавления содержимого в индекс. Пустые папки Git не сохраняет, поэтому каждый каталог должен содержать хотя бы один файл, например .gitkeep.
Процесс добавления новой директории начинается с проверки текущего состояния репозитория командой git status. Это позволяет убедиться, что нет незакоммиченных изменений, которые могут повлиять на работу с новой директорией. После создания каталога файлы необходимо добавить в индекс с помощью git add путь_к_директории.
Для фиксации изменений используется команда git commit -m «Добавлена новая директория». В комментарии желательно точно указывать, что было добавлено, чтобы история изменений оставалась понятной. После коммита каталог и его содержимое можно отправить на удалённый репозиторий командой git push, что обеспечит синхронизацию с основной веткой проекта.
Контроль успешного добавления директории выполняется через git ls-tree -r HEAD или просмотр удалённого репозитория в интерфейсе, чтобы убедиться, что файлы появились в нужной структуре. Следуя этим шагам, новая директория будет корректно интегрирована в проект, а её содержимое сохранено в истории Git.
Создание новой директории в проекте

Для добавления новой директории в проект откройте терминал в корневой папке репозитория. Используйте команду mkdir имя_директории для создания каталога. Название должно быть информативным и соответствовать структуре проекта, например assets для медиафайлов или components для модулей.
Git не отслеживает пустые папки, поэтому создайте хотя бы один файл внутри каталога, например .gitkeep или README.md, чтобы директория корректно добавилась в индекс. Для создания файла используйте touch имя_файла или текстовый редактор.
Проверка структуры проекта выполняется командой ls -la имя_директории, чтобы убедиться, что каталог содержит необходимые файлы. После этого директория готова к добавлению в Git с помощью git add имя_директории.
Инициализация Git в существующем проекте

Для начала работы с Git в существующем проекте откройте терминал в корневой папке и выполните команду git init. Эта команда создаёт скрытую папку .git, которая будет хранить все объекты репозитория и историю изменений.
После инициализации необходимо настроить имя пользователя и email, чтобы коммиты были корректно идентифицированы:
| Команда | Описание |
|---|---|
| git config —global user.name «Ваше Имя» | Устанавливает имя для всех коммитов на этом компьютере |
| git config —global user.email «email@example.com» | Устанавливает email для идентификации автора коммитов |
Проверить состояние репозитория после инициализации можно командой git status. Она покажет, что текущая директория теперь является репозиторием Git, и позволит подготовить файлы для первого коммита.
Добавление файлов в новую директорию
После создания новой директории необходимо разместить в ней файлы, которые будут отслеживаться Git. Минимально требуется один файл для корректного добавления каталога в репозиторий. Обычно используют:
- .gitkeep – пустой файл для сохранения пустой папки;
- README.md – документ с описанием содержимого директории;
- Тестовые или рабочие файлы проекта.
Чтобы добавить все файлы из новой директории в индекс Git, используйте команду:
- git add имя_директории/* – добавляет все файлы внутри каталога;
- git add имя_директории – добавляет каталог и все вложенные файлы рекурсивно;
- Для выборочного добавления используйте git add путь_к_файлу для конкретного файла.
После выполнения команды git status можно убедиться, что файлы помечены как staged и готовы к коммиту.
Проверка состояния Git перед коммитом
Перед фиксацией изменений необходимо убедиться, что все нужные файлы добавлены в индекс. Для этого используется команда git status, которая отображает:
- Файлы, подготовленные к коммиту (staged);
- Файлы, изменённые, но ещё не добавленные в индекс (unstaged);
- Новые файлы, не отслеживаемые Git (untracked).
Если новая директория не отображается как staged, добавьте её вручную через git add имя_директории. Проверка помогает избежать случайного пропуска файлов и гарантирует, что структура проекта в репозитории соответствует локальной.
Для более детального контроля используйте git diff для unstaged изменений и git diff —cached для staged файлов. Эти команды показывают конкретные изменения в содержимом, что облегчает подготовку корректного коммита.
Фиксация изменений с комментарием

После добавления новой директории и файлов в индекс необходимо зафиксировать изменения с помощью команды git commit. Для этого используйте синтаксис:
git commit -m «Описание изменений»
В комментарии следует кратко, но точно указать, что добавлено или изменено. Например, «Добавлена директория components с базовыми файлами». Это упрощает отслеживание истории проекта и работу с командой.
Для фиксации нескольких связанных изменений в одной операции можно использовать git commit -am «Комментарий», если изменения уже отслеживаются. Однако новые файлы нужно добавлять через git add отдельно, иначе они не попадут в коммит.
После коммита рекомендуется выполнить git log —oneline, чтобы убедиться, что фиксация прошла успешно и сообщение отображается корректно в истории репозитория.
Отправка новой директории на удалённый репозиторий
После фиксации изменений локально новая директория становится доступной для отправки на удалённый репозиторий. Для этого убедитесь, что репозиторий уже связан с удалённым сервером с помощью команды:
- git remote -v – проверка подключенных удалённых репозиториев.
Если удалённый репозиторий не подключен, добавьте его командой:
- git remote add origin URL_репозитория
Отправка изменений выполняется командой:
- git push -u origin имя_ветки – первый пуш с указанием ветки, чтобы установить связь между локальной и удалённой веткой;
- Для последующих изменений достаточно git push без указания ветки;
- Если требуется отправить только новую директорию, убедитесь, что она включена в последний коммит.
После выполнения команды git push проверьте интерфейс удалённого репозитория или используйте git ls-remote для подтверждения наличия новой директории и её файлов.
Проверка успешного добавления директории в репозиторий

Чтобы убедиться, что новая директория корректно добавлена в репозиторий, выполните команду git ls-tree -r HEAD. Она отображает все файлы и папки текущей ветки с указанием их пути и типов объектов.
Для проверки удалённого репозитория используйте команду git fetch с последующим git log —name-status origin/имя_ветки. Это покажет, что файлы и структура директории синхронизированы с сервером.
Дополнительно можно открыть веб-интерфейс репозитория (GitHub, GitLab, Bitbucket) и убедиться, что директория отображается с вложенными файлами. Если каталог пустой, убедитесь, что в нём есть хотя бы один файл, например .gitkeep, иначе Git не сохранит папку.
Проверка завершена, когда структура проекта в локальном и удалённом репозиториях совпадает, а все необходимые файлы доступны для работы и дальнейших коммитов.
Вопрос-ответ:
Почему Git не добавляет пустую директорию?
Git не отслеживает пустые папки, так как хранит только файлы и их изменения. Чтобы сохранить структуру каталога, внутри директории создают хотя бы один файл, например .gitkeep или README.md.
Как проверить, что новая директория добавлена в индекс Git?
Для проверки используйте команду git status. Если директория и файлы в ней отображаются в разделе «Changes to be committed», значит, они подготовлены для коммита. Дополнительно можно использовать git ls-files, чтобы увидеть все отслеживаемые файлы.
Можно ли добавить директорию с вложенными папками одной командой?
Да, достаточно выполнить git add имя_директории. Git рекурсивно добавит все файлы и вложенные каталоги, подготовив их к коммиту. Для выборочного добавления отдельных файлов используйте git add путь_к_файлу.
Что делать, если коммит не содержит новую директорию?
Сначала убедитесь, что внутри папки есть хотя бы один файл, иначе Git не сохранит её. Затем выполните git add имя_директории и повторите коммит с командой git commit -m «Добавлена новая директория».
Как проверить, что директория появилась на удалённом репозитории?
После отправки изменений командой git push проверьте удалённый репозиторий через веб-интерфейс или выполните git fetch и git log —name-status origin/ветка. Это позволит убедиться, что структура и файлы директории синхронизированы с сервером.
