Что такое gitignore

Опубликовал Максим Баев, 24 июня 2018, 14:12

Если вы работаете с системой контроля версий GIT, то вам необходимо сразу же познакомиться с возможностью исключения файлов/папок/разделов из репозитория.

Что исключать?

Обычно исключаются динамические файлы и файлы хранящие секретные данные.
К первым можно отнести файлы генерируемые или загружаемые пользователями, файлы логов, временные файлы. Ко вторым - пароли, токены, коннекции базам данных и т.д.

Как это делается?

Обычно - двумя способами

1. Файл .gitignore

Этот файл всегда хранится в проекте. Он содержит правила исключения, каждый из которых имеет относительный путь. Он добавляется и хранится в самом репозитории. Таким образом, любой другой разработчик, скачавший себе проект будет иметь эти правила и не сделает ошибку, добавив ненужные файлы.

2. Глобальный файл исключений

Его можно положить в любом месте на компьютере и назвать как угодно, при этом объяснив программе git подробности об этом:

git config --global core.excludesfile ~/.gitignore_global

В данном случае, файл называется .gitignore_global и лежит он в папке пользователя.

Зачем нужен глобальный файл исключений?

Предположим вы разрабатываете что-то используя любой JetBrains'овский продукт: Php Storm, RubyMine, Intellij Idea и т.п. Любой из них создаёт в корне проекта папку .idea со своими настройками, который необходимо исключать. Можно добавлять исключение этой папки в каждом проекте, а можно объявить один раз в глобальном файле.

Другие подробности про gitignore тут: https://git-scm.com/docs/gitignore

Другие посты