Кажется, сегодня про GIT знают все, ну или хотя бы слышали. Эта система контроля версий сегодня заслуженно самая популярная.
О самом ГИТе поговорим в другой раз, а сегодня — про один из важных файлов, в котором можно указывать какие файлы должны попасть в индекс системы, а какие нужно проигнорировать. В лучших программистских традициях он так и называется .gitignore.
В этом файле на отдельных строках указываются шаблоны путей файлов и каталогов проекта, которые нужно проигнорировать или наоборот принудительно включить в индекс.
Зачем же нам нужен хорошо настроенный .gitignore? Может без него как-то проживём?
Действительно, без этого файла вполне можно жить, но качество жизни определённо пострадает:) Ведь его правильная настройка поможет держать репозиторий в чистоте, сэкономить место на гит-хостинге и увеличить скорость скачивания репозитория.
🟢 Что стоит добавлять в .gitignore
- Файлы и папки, сгенерированные автоматически
— Компилируемые файлы (например, .class, .o, .out и другие).
— Файлы сборки (например, dist/, build/, target/).
Нет никакого смысла их хранить, т.к. это промежуточные файлы и их легко можно получить на основе исходного кода. - Данные локальной конфигурации и среды
— Конфигурационные файлы IDE (например, .vscode/, .idea/).
— Файлы среды (например, .env с секретными ключами и настройками).
Локальные настройки также не нужны в репозитории т.к. они актуальны только на машине конкретного разработчика. У других разработчиков и на сервере настройки будут иными. - Кэшированные и временные файлы
— Временные файлы операционной системы (например, Thumbs.db, .DS_Store).
— Кэшированные зависимости (например, node_modules/ в проектах Node.js, .venv/ для Python).
Тут всё как с автоматически сгенерированными — это промежуточный результат работы, ценность он представляет только во время работы/сборки приложения - Логи и файлы с результатами работы программы
— Файлы журналов (например, .log).
— Выходные данные и отладочные файлы (например, .tmp, *.log).
По своей сути это те же временные файлы, актуальные «здесь и сейчас» — нет смысла в их хранении (для этого есть специальные места хранения)
🔴 Что не стоит добавлять в .gitignore
- Исходный код и важные файлы конфигурации
— Файлы исходного кода и ключевые конфигурационные файлы, необходимые для работы проекта. - Скрипты для развёртывания и инфраструктуры
— Скрипты развёртывания и инфраструктурные файлы (например, Dockerfile, docker-compose.yml). - Документация и примеры данных
— Файлы документации (например, README.md, файлы с инструкциями).
— Примеры данных (если они важны для тестирования).
Все вышеуказанные данные как раз и являются проектом, и их-то и нужно бережно хранить в системе контроля версий.
🟢 Файл .gitignore чрезвычайно полезен. Он позволяет держать репозиторий в чистоте и порядке.
❗️Помни, что его не получится сгенерировать раз и навсегда: по мере роста и усложнения проекта, он будет расти вместе с ним.
Оригинал статьи в моём ТГ канале https://t.me/teamlead_monday/18