Настройка глобального файла .gitignore

Настройка глобального файла .gitignore

Как вычистить мусор из файла .gitignore

Просматривая различные pull requests, можно часто видеть, как участники незаметно добавляют конфигурацию редактора в файл .gitignore репозитория


  composer.lock
package.lock
+ .vscode

Такое поведение, когда каждый программист принимает свои правила .gitignore, относящиеся к окружающей среде, приводит к тому, что у нас  создается длинный список всякого мусора! Но мой или ваш репозиторий не должен заботиться о конфигурации вашего редактора.

Есть лучшее решение для этого: личный глобальный файл .gitignore для всех ваших репозиториев. Вот как вы можете его настроить.

Как создать глобальный .gitignore

Сначала создайте файл .gitignore для ваших глобальных правил, например, где-нибудь в своем домашнем каталоге.


touch ~/.gitignore

Затем откройте его в любом текстовом редакторе и добавьте все файлы и папки, которые вы всегда хотите игнорировать. Вот как выглядит моя глобальная конфигурация:


.phalcon
.idea

Вероятно, у вас будет как минимум две записи в вашем глобальном .gitignore: одна для файлов, специфичных для операционной системы, и одна для файлов, специфичных для редактора.

Я использую платформу IntelliJ IDEA, поэтому мне нужно игнорировать папки .idea создаваемую тем же редактором кода PHPStorm. Если бы я был пользователем Mac, мне нужно было бы игнорировать, например, файлы .DS_Store, создаваемые macOS. А если бы я был пользователем Windows с Visual Studio Code в качестве основного редактора, мой .gitignore файл, вероятно, выглядел бы так:


Thumbs.db
.vscode

Наконец, настройте git для использования нашего вновь созданного файла ~/.gitignore.


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

Если вы пользователь Windows, вам нужно будет отформатировать путь по-другому.


git config --global core.excludesfile %USERPROFILE%\.gitignore

 Вот и все, больше никаких надоедливых настроек редактора в ваших коммитах!

Сергей Мухин

Веб-разработчик со стажем программирования более 6 лет, постоянно учусь, люблю делать новые проекты.

Есть вопросы?

Я почти всегда в режиме онлайн

Связаться со мной