Короткий ответ
.gitignore указывает Git, какие файлы не нужно отслеживать; если .env с паролями попадёт в репозиторий, секреты окажутся во всей истории Git и у всех, кто имеет доступ, и их нужно считать скомпрометированными и ротировать, даже если файл позже удалить.
Как это работает подробнее
при git add/git status Git сверяется с шаблонами в .gitignore и не предлагает такие файлы к отслеживанию; это работает только для файлов, которые ещё никогда не были закоммичены.
Пример кода
Пример конфигурации
.venv/
__pycache__/
*.pyc
.env
*.log
dist/Что использовать на практике
- Рекомендация. типичный .gitignore для Python включает
.venv/,__pycache__/,.env,*.log; секреты передают через переменные окружения, а в репозиторий кладут только.env.example.
Подводные камни
- Риск. добавить
.envв .gitignore только после того, как он уже был закоммичен — файл всё равно остаётся в истории; нужно удалить его из истории и обязательно сменить скомпрометированные секреты.