Gitignore android studio plugin

Что должно быть в моем .gitignore для проекта Android Studio?

Какие файлы должны быть в моем .gitignore для проекта Android Studio?

Я видел несколько примеров, которые все включают .iml , но в документации IntelliJ говорится, что .iml должен быть включен в ваш исходный элемент управления.

30 ответов

Обновлено до Android Studio 3.0 Пожалуйста, поделитесь недостающими элементами в комментариях.

Итак, вот наш файл gitignore:

Начиная с Android Studio 2.2 и до 3.0, новые проекты создаются с помощью этого файла gitignore:

Устарело — для более старого формата проекта добавьте этот раздел в файл gitignore:

Этот файл должен находиться в корневой папке проекта, а не в папке модуля проекта.

Редактировать заметки:

Начиная с версии 0.3+, вы можете фиксировать и загружать файлы * .iml и build.gradle . Если ваш проект основан на Gradle: в новом диалоговом окне открытия / импорта вы должны установить флажок «use auto import» и установить переключатель «use default gradle wrapper (recommended)» . Все пути теперь относительны, как предложил @George.

Обновленный ответ в соответствии с прикрепленным источником и @Skela @ 128 КБ

В эту официальную документацию от службы поддержки JetBrains указано следующее:

Он также дает другие рекомендации, о которых следует быть осторожным.

Чтобы обойти импорт всех файлов, где Android Studio игнорирует список «Игнорируемые файлы», но по-прежнему использует Android Studio VCS, я сделал следующее: Это будет использовать список «Игнорируемые файлы» из Android Studio (после импорта! Не во время) И избегайте использования громоздкого способа, которым Tortoise SVN устанавливает список svn: ignore.

  1. Используйте браузер репозитория Tortoise SVN, чтобы создать новую папку проекта прямо в репозитории.
  2. Используйте Tortoise SVN для проверки новой папки поверх папки, которую вы хотите импортировать. Вы получите предупреждение о том, что локальная папка не пуста. Игнорируйте предупреждение. Теперь у вас есть версированная папка верхнего уровня с неверсированным содержимым.
  3. Откройте свой проект из локального рабочего каталога. VCS теперь должен быть включен автоматически
  4. Установите исключения для файлов в Файл -> Настройки -> Контроль версий -> Игнорируемые файлы.
  5. Добавьте файлы в SVN из Android Studio: выберите «Приложение» в структуре проекта -> VCS -> Добавить в VCS (это добавит все файлы, кроме «Игнорируемых файлов»)
  6. Зафиксировать изменения

В дальнейшем «Игнорируемые файлы» будут игнорироваться, и вы по-прежнему сможете управлять VCS из Android Studio.

Он создается с использованием ссылки на http://gitignore.io/, где вы можете создать последний обновленный файл gitignore для любой проект. Для Android http://gitignore.io/api/androidstudio. Надеюсь это поможет. В настоящее время я использую Android Studio 3.6.3

Android Studio 3.5.3

Я использую его для своих библиотек и проектов, и он охватывает большинство файлов, которые создаются студией Android и другими известными инструментами:

Начиная с Android Studio 0.8.4 файл .gitignore создается автоматически при запуске нового проекта. По умолчанию он содержит:

Я согласен с этим утверждением, однако я изменяю этот файл, чтобы изменить / построить на сборку / (это будет включать / build и / app / build), поэтому я не получаю все файлы в app / build в моем репозитории.

Также обратите внимание, что если вы импортируете проект из Eclipse, файл .gitignore не будет скопирован или создан для вас «автоматически».

Я объединяю файлы Github .gitignore

Используя api, предоставленный gitignore.io, вы можете получить автоматически сгенерированный. Вот прямая ссылка также gitignore.io/api/androidstudio

Github поддерживает полезные элементы gitignore для различных типов проектов. Вот список полезных элементов gitignore для проектов Android.

Читайте также:  Драгон сити для андроид

Лучше всего добавить список .gitignore во время разработки, чтобы предотвратить неизвестный побочный эффект, когда контроль версий не будет работать по какой-либо причине из-за заранее определенного (скопировать / вставить) список откуда-то. Для одного из моих проектов список игнорирования состоит только из:

Чтобы лучше понять, все, что вам нужно, это следующие файлы

Вы можете поместить все остальное в файл .gitignore. Все изменения в вашем приложении находятся в основном в этих файлах и папках. Остальное, что вы видите в базовом проекте, — это файлы сборки gradle или файлы конфигурации Android Studio.

Если вы используете Android Studio, вы можете использовать «Импорт проекта» для успешной сборки проекта. В качестве альтернативы вы можете использовать командную строку, следуя Создание проектов Android с Gradle.

Я знаю, что это старая тема и, безусловно, есть много вариантов, но я действительно предпочитаю gibo Саймона Уитакера. Он очень простой в использовании, кроссплатформенный (Mac, * nix и Windows) и использует github gitignore репозиторий, поэтому он (в основном) всегда актуален.

Убедитесь, что ваш локальный кеш обновлен:

Найдите нужный язык / технологию:

Отобразите файл .gitignore:

Теперь добавьте его в файл .gitignore вашего проекта:

(Убедитесь, что вы используете >> для добавления в файл .gitignore вашего проекта; один > перезапишет его — как я делал много раз случайно!)

Я знаю, что это не отвечает на точный вопрос OP, но использование gibo позволяет вам больше не думать о «вопросе»! .. мило! 😉

Начиная с Android Studio 0.8.4 файл .gitignore создается автоматически при запуске нового проекта. По умолчанию он содержит:

Я кошерно добавляю файлы .iml и Intellij sez для добавления папки .idea, но игнорирую .idea / workspace.xml и .idea / tasks.xml, но как насчет .idea / libraries /?

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

Также содержимое одного из этих файлов выглядит так:

Совершать это бессмысленно. Что, если пользователь указал другой домашний каталог для gradle, или если они используют другую версию gradle, путь в .gradle/caches/artifacts-xxx для них будет другим (то есть artifacts- число, добавленное в конце, будет относятся к выпуску версии gradle, которую вы используете.) Эти пути не универсальны, и все же совет — проверить все это?

Практически любой файл, который автоматически регенерируется.

Хороший тест — клонировать ваше репо и посмотреть, сможет ли Android Studio немедленно интерпретировать и запустить ваш проект (генерируя то, что отсутствует).
Если нет, найдите то, что отсутствует, и убедитесь, что это не проигнорировано, а добавлено в репо.

При этом вы можете взять в качестве примера существующие файлы .gitignore , например Android one.

Зависит от того, как поддерживается формат вашего проекта:

У вас есть два варианта:

  1. Формат на основе каталога (у вас будет папка .idea , содержащая файлы проекта)
  2. Файловый формат (файлы конфигурации: .iws и .ipr )

Файлы, переданные под контроль версий, зависят от вышеуказанного:

  1. Включить папку .idea в систему контроля версий, исключить workspace.xml и tasks.xml
  2. Файл управления версиями .ipr и все файлы модуля .iml , исключить файл .iws , поскольку в нем хранятся пользовательские настройки.

Я поддерживаю фиксацию папки .idea (за исключением workspace.xml и tasks.xml ). Но я начинаю приходить к выводу, что файлы .iml следует игнорировать.

Вот в чем проблема:

Откройте проект в каталоге с именем, например, «foo», и вы получите foo.iml, и все будет хорошо. Проблема в том, что если я просто переименую каталог в foo2 (или клонирую его в другое имя каталога), когда вы попытаетесь открыть проект в Android Studio, вы получите три вещи:

  • Новый файл iml с именем foo2.iml
  • Файл iml для вашего проекта Android будет изменен, чтобы теперь указывать на foo2 в качестве его родительского элемента.
  • В .idea / modules.xml будет добавлена ​​строка для foo2.iml, поэтому в нем будет как старый файл iml, так и файл для нового каталога
Читайте также:  Итачи учиха для андроид

Я не могу найти способ предотвратить создание Android Studio этого файла iml, когда проект хранится в другом каталоге. Добавление их в систему контроля версий вызовет проблемы. Поэтому я думаю, что, возможно, нам следует игнорировать файлы * .iml и .idea/modules.xml

НЕ НУЖНО добавлять в систему управления версиями что-либо из следующего:

Таким образом, вы можете настроить hgignore или gitignore соответственно.

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

  1. Откройте Android Studio
  2. Импортировать проект
  3. Найдите build.gradle в клонированном репозитории и откройте его.

PS: Android Studio затем через maven получит плагин gradle, предполагая, что ваш build.gradle выглядит примерно так:

Студия Android сгенерирует содержимое папки .idea (включая файл workspace.xml, которого не должно быть в системе управления версиями, потому что он создается ) и папки .gradle.

Этот подход удобен для Eclipse в том смысле, что система управления версиями ничего не знает об Android Studio. Android Studio просто нужен build.gradle, чтобы импортировать проект и сгенерировать все остальное.

Это лучший способ создать .gitignore через здесь

Я бы посоветовал также не игнорировать папку .idea.

Я импортировал проект Eclipse на основе Git в Android Studio, и все прошло нормально. Позже я хотел импортировать этот проект с помощью Git (как в первый раз) на другую машину с Android Studio, но это не сработало. Android Studio загрузила все файлы, но не смогла «увидеть» проект как проект. Я мог открывать только Git-файлы.

При первом импорте проекта (из Eclipse в Android Studio) мой старый .gitignore был перезаписан, а новый выглядел так:

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profiles_settings.xml
  • .idea / encodings.xml
  • .idea / библиотеки / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scopes / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

Итак, я попытался использовать пустой gitignore, и теперь это сработало. Другая Android Studio могла загружать файлы и проект. Я предполагаю, что некоторые файлы не важны (profiles_settings.xml) для Git и импорта, но я просто счастлив, что это сработало.

Android Studio 4.1.1

Если вы создаете проект Gradle с помощью Android Studio, файл .gitignore будет содержать следующее:

.gitignore

Я бы рекомендовал игнорировать весь каталог «.idea», потому что он содержит пользовательские конфигурации, ничего важного для процесса сборки.

Папка проекта Gradle

Единственное, что должно быть в папке проекта (Gradle) после клонирования репозитория, — это эта структура (по крайней мере, для тех случаев использования, с которыми я столкнулся до сих пор):

Примечание. Рекомендуется регистрировать сценарии оболочки Gradle ( gradlew , gradlew.bat ), как описано здесь.

Чтобы файлы Wrapper стали доступны другим разработчикам и средам выполнения, вам нужно будет зарегистрировать их в системе контроля версий.

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

Однако, если вы сохраните какие-либо настройки IDE, такие как настройки стиля пользовательского кода, они сохранятся в папке .idea. Если вам нужны эти изменения в системе контроля версий, вы также должны сохранить файлы IDEA (* .iml и .idea).

Читайте также:  Bluetooth геймпад для android как подключить

Я использую этот .gitignore. Я нашел его по адресу: http://th4t.net/android-studio-gitignore.html

Я не согласен со всеми этими ответами. Следующая конфигурация отлично подходит для приложения нашей организации.

  • /build
  • /.idea (с возможными исключениями, см. Комментарии в ответе dalewking)
  • *.iml
  • local.properties

Думаю, почти все согласны с /build .

Мне надоело постоянно видеть сообщения о различных файлах library.xml , которые Gradle создает или удаляет в /.idea . build.gradle будет запускаться на локальном компьютере разработчиков, когда они впервые проверят проект, так почему для этих XML-файлов нужно управлять версиями? Android Studio также сгенерирует остальную часть /.idea , когда разработчик создаст проект с использованием Check out from Version Control , так почему что-либо в этой папке нуждается в версионировании?

Если *.iml версируется, новый пользователь должен будет назвать проект точно так же, как он был при фиксации. Поскольку это также сгенерированный файл, зачем вообще его редактировать?

Файлы local.properties указывают на абсолютный путь в файловой системе для SDK, поэтому определенно не следует использовать его версии.

Редактировать 1 : добавлен .gradle для игнорирования материала кеширования gradle, для которого не следует использовать версии (спасибо Василий Макаров).

Редактировать 2 : добавлено .DS_Store теперь, когда я использую Mac. Эта папка специфична для Mac и не должна быть версированной.

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

Для удобства копирования и вставки :

Обновлено 07.07.2015:

Формат проекта на основе каталога (каталог .idea)

Этот формат используется по умолчанию во всех последних версиях IDE. Вот чем вам нужно поделиться:

  • Все файлы в каталоге .idea в корне проекта кроме файлов workspace.xml и tasks.xml , в которых хранятся пользовательские настройки
  • Все файлы модуля .iml , которые могут находиться в разных каталогах модулей (применимо к IntelliJ IDEA)

Будьте осторожны , сообщая следующее:

  • Артефакты Android, которые создают подписанную сборку (будут содержать пароли хранилища ключей)
  • В IDEA 13 и более ранних версиях dataSources.ids datasources.xml может содержать пароли базы данных. IDEA 14 решает эту проблему.

Вы можете не разглашать следующее:

  • gradle.xml, см. это обсуждение
  • папка пользовательских словарей (во избежание конфликтов, если у другого разработчика такое же имя)
  • XML-файлы в разделе .idea/libraries , если они созданы из проекта Gradle .

Устаревший формат проекта (файлы .ipr / .iml / .iws )

  • Предоставьте общий доступ к файлу проекта .ipr и всем файлам модуля .iml , не делитесь файлом .iws , поскольку в нем хранятся пользовательские настройки

Хотя эти инструкции предназначены для IntelliJ IDEA, они на 100% верны для Android Studio.

Вот фрагмент кода .gitignore , который включает все вышеперечисленные правила:

Основываясь на моем обычном Android .gitignore , и после прочтения документации на веб-сайте Intellij IDEA и чтения сообщений в StackOverflow я создал следующий файл:

Также обратите внимание, что, как уже указывалось, раздел встроенные собственные файлы в первую очередь полезен, когда вы создаете собственный собственный код с помощью Android NDK. Если, с другой стороны, вы используете стороннюю библиотеку, которая включает эти файлы, вы можете удалить эти строки (* .o и * .so) из вашего .gitignore.

Протестировано с Android Studio 3.0

Возможно, вам потребуется установить плагин .ignore .

Вы можете автоматически сгенерировать файл .gitignore для Android. Щелкните правой кнопкой мыши папку и следуйте

Затем выберите Android на левой панели и нажмите Создать .

Android Studio сгенерирует файл .gitignore, который содержит все файлы, которые необходимо игнорировать.

Источник

Оцените статью