⚠️ Что добавить в .gitignore
Привет!
Кажется, сегодня про 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 чрезвычайно полезен. Он позволяет держать репозиторий в чистоте и порядке.
❗️Помни, что его не получится сгенерировать раз и навсегда: по мере роста и усложнения проекта, он будет расти вместе с ним.
🔔 Подписывайся на Тимлидельник — тут внезапно может оказаться интересно, а ты не подписан🧐
@teamlead_monday
Привет!
Кажется, сегодня про 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 чрезвычайно полезен. Он позволяет держать репозиторий в чистоте и порядке.
❗️Помни, что его не получится сгенерировать раз и навсегда: по мере роста и усложнения проекта, он будет расти вместе с ним.
🔔 Подписывайся на Тимлидельник — тут внезапно может оказаться интересно, а ты не подписан🧐
@teamlead_monday