Глубокое погружение в папку .idea в Android Studio

в 12:09, , рубрики: android, android development, android studio, devcolibri, никто не читает теги, перевод с английского, Программирование, разработка, разработка мобильных приложений, Разработка под android

Глубокое погружение в папку .idea в Android Studio

Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность обрабатывать иногда возникающие git-конфликты, и для того, чтобы точно знать, какой файл можно безопасно добавить в .gitignore, а какой нет.

Разобрал я это на примере проекта, над которым работаю. И решил поделиться результатом того, что выяснил, т.к. не нашел никакой документации по этому вопросу.

Глубокое погружение в папку .idea в Android Studio - 2 указывает путь, который следует добавить в .gitignore

Глубокое погружение в папку .idea в Android Studio - 3 указывает путь, который Android Studio уже добавила в .gitignore, и вам не следует его версионировать.

Глубокое погружение в папку .idea в Android Studio - 4 указывает путь, который вы должны хранить в git.

Глубокое погружение в папку .idea в Android Studio - 5 assetWizardSettings.xml

Этот файл хранит последнюю иконку, добавленную с помощью интерфейса Android Studio. Его можно безопасно удалить из VCS.

Android Studio Wizard

Глубокое погружение в папку .idea в Android Studio - 7 caches

Кэши, как следует из названия, могут быть безопасно добавлены в .gitignore.

Не вижу никаких оснований держать его в VCS, но по умолчанию эта папка в .gitignore не добавлена.

caches/build_file_checksums.ser

По факту, этот файл представляет собой сериализированный экземпляр ProjectBuildFilesChecksums.

Файл необходим, чтобы проверить, изменились ли build.gradle, settings.gradle, local.properties, ~/.gradle/gradle.properties, gradle.properties или файлы build.gradle ваших модулей.

Android Studio использует этот файл для того, чтобы сообщить вам о том, что нужно синхронизировать gradle-файлы.

Глубокое погружение в папку .idea в Android Studio - 8 codeStyles

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

Глубокое погружение в папку .idea в Android Studio - 9 dictionaries

Папка содержит запись, которую вы добавили в словарь для проверки кода. Этот словарь важен, если у вас есть строгие правила в вашей CI-системе.

Глубокое погружение в папку .idea в Android Studio - 10 gradle.xml

Рекомендую удалить этот файл из git. Он может содержать локальный путь к вашей версии gradle, а также путь к вашему модулю. Например, вы можете разработать модуль в отдельном репозитории, поэтому путь к модулю может быть специфичным для каждого пользователя.

По всем этим причинам я окончательно удаляю файл gradle.xml из VCS.

Глубокое погружение в папку .idea в Android Studio - 11 inspectionProfiles

Эта папка содержит конкретные Lint-правила для вашего проекта. Поэтому так же, как и папка dictionaries, она должна храниться в git.

Глубокое погружение в папку .idea в Android Studio - 12 libraries

Здесь содержится файл, который указывает, где хранятся jar-файлы ваших библиотек. Поскольку путь загрузки может быть специфичным для каждого пользователя, вы не должны хранить эту папку в VCS.

misc.xml

Файл содержит информацию о проекте: версия Java, тип проекта и др.

Эти сведения касаются проекта и не зависят от пользователя. Поэтому его следует хранить в git.

Глубокое погружение в папку .idea в Android Studio - 13 modules.xml

Этот файл содержит пути к .iml-файлам ваших модулей. Поэтому по аналогии с gradle.xml его нельзя хранить в git.

Глубокое погружение в папку .idea в Android Studio - 14 navEditor.xml

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

Глубокое погружение в папку .idea в Android Studio - 15 runConfigurations.xml

Имя файла может вам намекнуть, что в нём хранятся конфигурации, которые вы можете добавить, нажав «Изменить конфигурации». Этот файл обязательно нужно хранить в VCS.

Изменить конфигурации

Глубокое погружение в папку .idea в Android Studio - 17 vcs.xml

Этот файл содержит информацию о VCS, которую вы используете в своём проекте. Он используется для того, чтобы вы могли использовать графический интерфейс для выполнения операций, связанных с управлением версиями. Его тоже стоит добавить в git.

Глубокое погружение в папку .idea в Android Studio - 18 workspace.xml

Здесь содержится информация о вашем рабочем пространстве в Android Studio. Например, последняя позиция курсора на открытом вами файле. Так что это определенно пользовательская информация, которую нет необходимости хранить в git.

Итоги

Я бы предложил вам добавить всего три строки к файлу .gitignore по умолчанию:

/.idea/assetWizardSettings.xml
/.idea/gradle.xml
/.idea/caches
# Uncomment next line if keeping position of elements in Navigation Editor is not relevant for you
# /.idea/navEditor.xml

Как я уже сказал в начале этой статьи, я не нашёл никакой документации о содержимом папки .idea, поэтому статья может быть неполной и/или не точна на 100%. Если вы знаете ещё что-то, чего нет в этой статье, то пишите об этом в комменнтарии.

Автор: Devcolibri

Источник

Поделиться

* - обязательные к заполнению поля