Для настройки `.gitignore` для исключения определенных файлов или директорий из репозитория, нужно создать файл `.gitignore` в корне проекта и указать в нем пути к файлам или директориям, которые необходимо исключить. Например, чтобы исключить все файлы с расширением `.log` и папку `node_modules`, можно добавить следующие строки в файл `.gitignore`:
```
*.log
node_modules/
```
Для отслеживания только содержимого определенной папки "src" внутри репозитория и игнорирования конкретных файлов внутри других директорий можно использовать следующие правила в файле `.gitignore`:
```
# Игнорировать все файлы внутри src, кроме .env
src/**
!src/.env
# Игнорировать все файлы внутри users и controllers, кроме .env
users/**
!users/.env
controllers/**
!controllers/.env
```
Чтобы создать возможность клонировать отдельный репозиторий в папке "app" без добавления его содержимого в главный репозиторий проекта, можно использовать подмодули Git. Для этого необходимо выполнить следующие шаги:
1. Добавить в основной репозиторий подмодуль, указав ссылку на репозиторий, который вы хотите добавить:
```
git submodule add <URL репозитория> app
```
2. Зафиксировать изменения в основном репозитории:
```
git commit -m "Add app submodule"
```
3. При клонировании основного репозитория, подмодуль также будет склонирован в папку "app" без добавления его содержимого в главный репозиторий проекта.
4. Для обновления подмодуля до последней версии в репозитории выполните:
```
git submodule update --remote
```
Таким образом, вы сможете вести управление отдельным репозиторием в папке "app" без добавления его содержимого в основной репозиторий.