Глобальный .gitignore

В .gitignore проекта часто добавляют файлы, относящиеся не к проекту, а к окружению и инструментам разработчика. Пример:

.idea
node_modules
dist
.DS_Store
.vscode

Из пяти строк только две касаются непосредственно специфики проекта — node_modules и dist. Чем больше разработчиков работают над проектом, тем больше шума будет в .gitignore.

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

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

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