Mercurial.hgignore для проектов Android Studio
Какие файлы следует игнорировать в Mercurial при использовании Android Studio (1.0 RC4 Windows) для разработки?
Создание нового проекта приложения также создает файл .gitignore
. Я перевел это на следующий .hgignore
файл
syntax: glob
.hgignore
.gradle
local.properties
.idea/workspace.xml
.idea/libraries
.DS_Store
build
Но когда я делаю Add to VCS
для моего проекта, некоторые файлы, которые не входят в список игнорирования, не добавляются в Mercurial. Оставленные файлы:
.idea\.name
.idea\compiler.xml
.idea\copyright\profiles_settings.xml
.idea\encodings.xml
.idea\gradle.xml
.idea\misc.xml
.idea\modules.xml
.idea\scopes\scope_settings.xml
.idea\vcs.xml
build.gradle
MyApplication.iml
gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle
Должен ли я добавлять эти файлы в список игнорирования или добавить их в VCS?
Также неясно, что делать с .iml
файлами. Добавление проекта в Mercurial с использованием AS добавит файл app\app.iml
, но добавление проекта в Git с использованием AS оставит этот файл без следа.
Я не хочу отслеживать лишние файлы в VCS, но я не хочу пропустить хранение важных. Существует множество источников, по которым следует отслеживать файлы, но информация так сильно отличается, что трудно сделать какой-либо определенный вывод.
Обновление: окончательная версия моего файла .hgignore
syntax: glob
.hgignore
.gradle
local.properties
.idea
.DS_Store
build
*.iml
gradlew
gradlew.bat
Для совместного использования проекта между разработчиками следующие файлы должны быть отправлены в VCS или AS не сможет импортировать проект на другой компьютер:
gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties
Ответы
Ответ 1
Я предлагаю вам добавить все файлы, перечисленные выше, в .hgignore
, за исключением build.gradle
и settings.gradle
. Файлы в каталоге .idea
автоматически генерируются Android Studio
, и вы не должны отслеживать их или редактировать вручную. Я не думаю, что вам когда-нибудь понадобится отредактировать gradlew
или gradlew.bat
, чтобы вы могли также их перенести. Вы можете добавить gradle.properties
и gradle-wrapper.properties
позже, когда вам нужно будет изменить версии по умолчанию (лично я тоже эти два игнорировать).
Ответ 2
Это то, что я закончил для проектов с поддержкой Android Studio (1.5) gradle:
syntax: glob
*.iml
.gradle
.idea/dictionaries
.idea/libraries
.idea/tasks.xml
.idea/workspace.xml
build
gen
local.properties
Я думаю, что это очень полный список.
Единственный сомнительный вариант imho - игнорировать ли вы файлы *.iml
или нет.
Они дублируют информацию из build.gradle
, автоматически генерируются и постоянно обновляются Android Studio, но, с другой стороны, новым разработчикам необходимо будет "Импортировать проект" вместо "Открыть существующий проект Android Studio", если вы решите не отслеживать их.
В отличие от другого ответа, я настоятельно рекомендую проверить все файлы оболочки gradle в VCS.
Цель обертки заключается в том, чтобы выполнить загрузку gradle.
Если вы, например, хотите настроить автоматические сборки, вам нужно только проверить проект, создать local.properties
или соответствующие переменные среды и выполнить gradlew assemble
.
Затем система сборки автоматически установит версию gradle, указанную в вашем gradle-wrapper.properties
, для выполнения задачи assemble
. Это ценная информация для обмена.
Также проверьте эту официальную статью поддержки JetBrains: https://intellij-support.jetbrains.com/hc/en-us/articles/206827587-How-to-manage-projects-under-Version-Control-Systems
Ответ 3
С помощью . игнорировать плагин можно генерировать .hgignore
всего за два клика. Откройте контекстное меню в корневой папке, выберите "Создать → .ignore file → .hgignore". Затем для проекта Android Studio просто установите флажки (шаблоны), перечисленные ниже:
- Android
- Gradle (необязательно)
- JetBrains
- AppEngine (необязательно)
Добавьте syntax: glob
в начало сгенерированного файла.
Ответ 4
IntelliJ IDEA mercurial.hgignore файл для обычного проекта gradle/maven java multi, включая обертки (также должны быть сделаны обертки)
syntax: regexp
.gradle/*
.idea/*
syntax: glob
.git/*
*/out/*
*/build/*
*/target/*
.DS_Store
*.iml
*.ipr
*.iws
*.log