Что такое gitignore
Если вы работаете с системой контроля версий Git, с gitignore нужно подружиться сразу. Это механизм исключения файлов/папок из репозитория.
Что обычно исключают
- Динамические файлы:
- загруженные пользователями файлы;
- логи;
- временные файлы.
- Файлы с секретами:
- пароли;
- токены;
- строки подключения к БД и т. п.
Способ 1. Файл .gitignore в проекте
Файл .gitignore лежит в репозитории и содержит правила исключения с относительными путями. Он версионируется, поэтому любой разработчик, клонировавший проект, автоматически получает корректные правила.
Простейший пример:
node_modules/
storage/
*.log
.envСпособ 2. Глобальный файл исключений
Глобальный файл можно положить в любое место и назвать как угодно. Затем сообщаем Git'у:
git config --global core.excludesfile ~/.gitignore_globalВ этом случае все правила из ~/.gitignore_global будут применяться ко всем репозиториям на машине.
Зачем нужен глобальный gitignore
Предположим, вы работаете с продуктами JetBrains (PhpStorm, RubyMine, IntelliJ IDEA и т. д.). Они создают в корне проекта папку .idea со своими настройками, которую в Git обычно добавлять не нужно.
Варианты:
- добавлять правило
.idea/во все проекты; - один раз прописать его в
~/.gitignore_globalи забыть.
Официальная документация по синтаксису и возможностям — в мануале Git:
https://git-scm.com/docs/gitignore