TGViewer
Кот Денисова Кот Денисова @itdenisov · 229 subscribers
Post #242 499
👩‍💻 .gitignore - не единственный способ заставить Git игнорировать файлы.

Большинство разработчиков знают про .gitignore. Файл в корне проекта, куда складывают node_modules, .env, логи и прочий мусор, который не должен попасть в репозиторий. Но Git умеет игнорировать файлы не только с помощью .gitignore. Есть еще два уровня и каждый решает свою задачу.


Три уровня игнорирования:

🔹Первый уровень - .gitignore. Это классика. Файл лежит в репозитории, попадает под контроль версий и работает у всех, кто клонирует проект. Сюда пишут все, что относится к проекту целиком: зависимости, артефакты сборки, локальные конфиги IDE.

🔹Второй уровень - .git/info/exclude. Файл внутри директории .git. Он работает так же, как .gitignore, но не попадает в коммиты. Это место для личных правил, которые нужны только вам: черновики, заметки, экспериментальные скрипты.

🔹Третий уровень - ~/.config/git/ignore. Глобальный файл для всех репозиториев на вашей машине. Сюда добавляют то, что мешает везде. Например, на macOS это .DS_Store. На Windows - Thumbs.db. Настройка делается один раз и забывается.


Когда что использовать:

🔹.gitignore - для командных правил. Если файл должен игнорироваться у всех, кто работает над проектом, он идет сюда.

🔹.git/info/exclude - для личных правил внутри одного репозитория. У вас есть файл notes.txt с пометками для себя. Добавлять его в .gitignore не хочется - коллегам он не нужен. В exclude он не отслеживается только у вас.

🔹~/.config/git/ignore - для системных файлов. .DS_Store, Thumbs.db, .swp - все, что создается автоматически и раздражает в каждом проекте.


Как проверить, кто именно игнорирует файл:

Когда правил много, легко запутаться. Git дает команду git check-ignore -v, которая показывает, какой именно файл игнорирует конкретный файл.


$ git check-ignore -v .DS_Store
/Users/user/.config/git/ignore:2:.DS_Store .DS_Store


Если файл игнорируется .gitignore, вывод начнется с .gitignore. Если exclude - с .git/info/exclude. Если глобальным ignore - с путем в домашней директории. Если команда ничего не выводит - файл никто не игнорирует.


🔗 Читать подробнее


💡 Вывод:

Git дает три уровня игнорирования и каждый решает свою задачу. .gitignore - для командных правил. .git/info/exclude - для личных исключений в одном репозитории. ~/.config/git/ignore - для глобальной чистоты на всей машине.

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


Подписаться на канал:
➡️ Кот Денисова
  • ❤ 6
  • 👍 3
  • 🔥 1
  • 🙏 1
More from @itdenisov
  1. Sep 30, 2026👨‍💻 Почему разработчики стали маркетологами. Есть метрика time to market - количество вр…
  2. Sep 23, 2026👨‍💻 Скорость разработки перестала быть дефицитом. Дефицитом стали доходные идеи. ИТ-мене…
  3. Sep 16, 2026👨‍💻 Команды Git, которые полезно знать. Когда вы уже хорошо знакомы с командами add, com…
  4. Sep 9, 2026👨‍💻 Гонка за самую мощную ИИ-модель подходит к концу? Последние несколько лет за развити…
  5. Sep 2, 2026👨‍💻 Почему ПМ игнорирует мнение разработчика и спрашивает других? Знакомая ситуация. Вы…
  6. Aug 26, 2026👨‍💻 Навыки прохождения собеседований стали важнее реального опыта. В последние годы в ИТ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →