Правильное игнорирование в Git

Очень часто, от проекта к проекту, у каждого разработчика есть определенный набор папок или файлов, которые не должны попасть в Git репозиторий. Среди них могут быть файлы с логами, файлы базы данных, строго секретная информация и многое другое. Такие ресурсы проекта обычно включаются в .gitignore. Однако наряду с вышеназванными файлами, некоторые инженеры включают в этот список еще и файлы, сгенерированные скажем средой разработки или операционной системой. Например те кто работают с помощью продуктов JetBrains часто включают в свои .gitignore папку .idea. Это заведомо неверное решение, которое конечно же не сломает ваше приложение, но при этом выглядит непрофессионально. Если на этом месте вы словили себя на мысли: "Ну и зануда!", то можете вернуться к своим прежним делам, а с оставшимися мы продолжим.

Мое мнение таково, что код должен всегда оставаться чистым и насколько это возможно независимым от внешних компонентов. Не имеет значения, говорим мы о классе с бизнес логикой или о маленьком .gitignore. Тем более что Git предоставляет способ для глобального игнорирования разработчико-зависимых ресурсов. Его я и называю правильным игнорированием.

Для начала создаем в любом месте вашей системы файл .gitignore_global (имя файла, как и его расположение также может быть абсолютно любым) и добавляем в него ресурсы, которые будут игнорироваться по-умолчанию, например вышеназванная папка .idea. Чтобы Git узнал о вашем намерении игнорировать эти ресурсы глобально, необходимо в командной строке запустить следующую команду:

git config --global core.excludesfile "/path/to/your/.gitignore_global"

Чтобы посмотреть список файлов, для которых включено глобальное игнорирование, достаточно запустить следующую команду:

git config --global core.excludesfile

Все просто и намного быстрее, чем прочитать данную запись.