1. Сохраните файл-заполнитель
Создайте uploads и пустой uploads/.gitkeep в редакторе, затем подготовьте именно этот файл:
git add -- uploads/.gitkeepУбедитесь, что индекс содержит uploads/.gitkeep. Имя .gitkeep — соглашение без особого поведения Git; подойдёт и README с описанием каталога. Будущие файлы автоматически не игнорируются.
git ls-files -- uploads/ 2. Сохраните каталог, игнорируя содержимое
Вместо .gitkeep создайте uploads/.gitignore с двумя строками ниже. * игнорирует содержимое, !.gitignore оставляет файл правил доступным для отслеживания.
Сам файл правил служит отслеживаемым заполнителем, то есть каталог содержит его. Новые файлы намеренно игнорируются до изменения правил.
*
!.gitignore 3. Проверьте выбранный подход
Для варианта с .gitignore подготовьте файл правил:
git add -- uploads/.gitignoreСоздайте uploads/example.bin и проверьте совпадение:
git check-ignore -v -- uploads/example.binИндекс должен содержать uploads/.gitignore, но не example.bin. Если родительское правило исключает сам uploads, сначала исправьте его, чтобы Git мог прочитать вложенный .gitignore.
git ls-files -- uploads/ Точное поведение и подробности описаны в официальных источниках: Документация Git · Документация git add