Как игнорировать папки? folder/ или /folder/

/logs/ означает каталог рядом с корневым .gitignore, logs/ — одноимённые каталоги на любой глубине ниже него. Сначала выберите область действия.

1. Игнорируйте каталог в корне

В корневом .gitignore это правило исключает logs/app.log и всё содержимое корневого logs, но разрешает отслеживать packages/api/logs/app.log. Начальный / привязывает шаблон к каталогу этого .gitignore.

/logs/

2. Игнорируйте каталоги на любой глубине

Используйте этот вариант для всех каталогов logs. Конечный / ограничивает правило каталогами; logs без него может совпасть и с файлом.

Во вложенном .gitignore пути относительны к нему: /logs/ означает местный logs, а не корень репозитория. packages/api/logs/ уже содержит внутренние / и относителен к расположению .gitignore.

logs/

Как игнорировать расширения? Использование * и **

3. Проверьте область действия

Создайте оба неотслеживаемых примера и выполните команду из корня. Сравните источник и шаблон:

git check-ignore -v -- logs/app.log packages/api/logs/app.log

/logs/ должен совпасть только с корневым путём, logs/ — с обоими. Другие правила могут изменить результат. Отслеживаемые файлы требуют отдельной обработки; для сохранения файла внутри игнорируемого каталога см. статью об исключениях.

Как игнорировать файлы, которые Git уже отслеживает?

Точное поведение и подробности описаны в официальных источниках: Документация Git · Документация git check-ignore