Разбор шаблона .gitignore для JetBrains
Почему JetBrains.gitignore выборочно игнорирует в папке .idea (IntelliJ, PyCharm, WebStorm и др.) только личные настройки и чувствительные файлы, и чем это отличается от игнорирования всей .idea.
JetBrains.gitignore охватывает папку .idea, общую для IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm, Rider, CLion и Android Studio. Шаблон не исключает .idea целиком, а выборочно блокирует только личное состояние, чувствительные данные и автоматически создаваемые файлы.
Официальные рекомендации JetBrains тоже советуют делиться полезными для команды настройками — стилем кода, конфигурациями запуска, профилями инспекций — и исключать личные файлы вроде workspace.xml.
Разбор правил
| Шаблон | Что и почему игнорируется |
|---|---|
.idea/**/workspace.xml.idea/**/tasks.xml.idea/**/usage.statistics.xml.idea/**/dictionaries.idea/**/shelf | Личное рабочее состояниеОткрытые файлы, положение курсора, история задач (task), личный словарь, отложенные (shelve) изменения. У каждого они свои и часто меняются. |
.idea/**/dataSources/.idea/**/dataSources.local.xml.idea/**/sqlDataSources.xml.idea/**/dynamic.xml.idea/**/dbnavigator.xml | Подключения к базам данныхСведения о подключениях и кэш схем инструментов БД. В локальных настройках подключения есть личные данные, например имя пользователя. |
.idea/**/gradle.xml.idea/**/libraries | Результаты синхронизации с инструментами сборкиНастройки и списки библиотек, которые IDE заново создаёт при импорте проектов Gradle и Maven. |
out/*.iws.idea_modules/cmake-build-*/ | Вывод IDE и устаревшие форматыВывод компиляции IntelliJ, файлы рабочей области старого файлового формата проектов и папки сборки CMake в CLion. |
atlassian-ide-plugin.xml.idea/sonarlint/com_crashlytics_export_strings.xmlcrashlytics.propertiesfabric.properties | Файлы плагиновНастройки и кэши, которые создают плагины JIRA, SonarLint и Crashlytics. |
.idea/httpRequestshttp-client.private.env.json | Секреты HTTP-клиентаИстория запросов встроенного HTTP-клиента и private-файл окружения, куда вписывают токены и пароли. Публичные значения храните в http-client.env.json и коммитьте. |
.idea/caches/build_file_checksums.ser.idea/**/contentModel.xml.idea/**/aws.xml | КэшиКэш контрольных сумм файлов сборки Android Studio, автоматически создаваемые модели и личные настройки AWS Toolkit. |
На что обратить внимание на практике
- Если вы используете автоимпорт Gradle или Maven, раскомментируйте правила
.idea/modules.xml,.idea/*.imlи*.imlиз комментариев шаблона — изменений станет меньше. - Если делиться настройками не нужно, можно добавить
.idea/в глобальный gitignore. В этом случае этот шаблон не нужен. - Если
.idea/workspace.xmlуже закоммичен, после добавления правила он продолжит отслеживаться. Уберите его командойgit rm --cached .idea/workspace.xml.
Исходный шаблон
# Covers JetBrains IDEs: IntelliJ, GoLand, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839# User-specific stuff.idea/**/workspace.xml.idea/**/tasks.xml.idea/**/usage.statistics.xml.idea/**/dictionaries.idea/**/shelf# AWS User-specific.idea/**/aws.xml# Generated files.idea/**/contentModel.xml# Sensitive or high-churn files.idea/**/dataSources/.idea/**/dataSources.ids.idea/**/dataSources.local.xml.idea/**/sqlDataSources.xml.idea/**/dynamic.xml.idea/**/uiDesigner.xml.idea/**/dbnavigator.xml# Gradle.idea/**/gradle.xml.idea/**/libraries# Gradle and Maven with auto-import# When using Gradle or Maven with auto-import, you should exclude module files,# since they will be recreated, and may cause churn. Uncomment if using# auto-import.# .idea/artifacts# .idea/compiler.xml# .idea/jarRepositories.xml# .idea/modules.xml# .idea/*.iml# .idea/modules# *.iml# *.ipr# CMakecmake-build-*/# Mongo Explorer plugin.idea/**/mongoSettings.xml# File-based project format*.iws# IntelliJout/# mpeltonen/sbt-idea plugin.idea_modules/# JIRA pluginatlassian-ide-plugin.xml# Cursive Clojure plugin.idea/replstate.xml# SonarLint plugin.idea/sonarlint/# see https://community.sonarsource.com/t/is-the-file-idea-idea-idea-sonarlint-xml-intended-to-be-under-source-control/121119.idea/sonarlint.xml# Crashlytics plugin (for Android Studio and IntelliJ)com_crashlytics_export_strings.xmlcrashlytics.propertiescrashlytics-build.propertiesfabric.properties# Editor-based HTTP Client.idea/httpRequestshttp-client.private.env.json# Android studio 3.1+ serialized cache file.idea/caches/build_file_checksums.ser# Apifox Helper cache.idea/.cache/.Apifox_Helper.idea/ApifoxUploaderProjectSetting.xml# Github Copilot persisted session migrations, see: https://github.com/microsoft/copilot-intellij-feedback/issues/712#issuecomment-3322062215.idea/**/copilot.data.migration.*.xml
Источник шаблонов: github/gitignore/Global/JetBrains.gitignore @356fd7b (2026-09-11) · CC0-1.0