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

Попробуйте:

\b(?!boy\b).*?\b

, что означает:

  • Разрыв слова с нулевой шириной (\b)
  • Этого не следует «мальчик» и другое слово break;
  • , за которым следуют любые символы нежелательным способом;
  • Вверх до разрыва другого слова.

Примечание: разрыв слова соответствует началу строки, концу строки и любому переходу от слова (числа, буквы или подчеркивания) к символу, отличному от слова или наоборот.

1170
задан Ashraf.Shk786 19 May 2018 в 14:42
поделиться

10 ответов

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

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

    $ gibo --upgrade
    From https://github.com/github/gitignore
     * branch            master     -> FETCH_HEAD
    Current branch master is up to date.

Поиск нужного языка / технологии:

    $ gibo --search android
    Android

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

    $ gibo Android
    ### Android

    # Built application files
    *.apk
    *.ap_

    # Files for the Dalvik VM
    *.dex

    # Java class files
    *.class

    # Generated files
    bin/
    gen/

    # Gradle files
    .gradle/
    build/

    # Local configuration file (sdk path, etc)
    local.properties

    # Proguard folder generated by Eclipse
    proguard/

    # Log Files
    *.log

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

    $ gibo Android >> .gitignore

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

Я знаю, что это не отвечает на точный вопрос ОП, но использование gibo делает это так, что вам почти не нужно думать о вопрос "больше! .. мило! ;)

3
ответ дан wasatchwizard 19 May 2018 в 14:42
поделиться

Android Studio 3.4

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

.gitignore

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild

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

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

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

app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradle.bat
settings.gradle

Рекомендуется зарегистрировать скрипты Gradle-оболочки (см. здесь ).

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

18
ответ дан Willi Mentzel 19 May 2018 в 14:42
поделиться

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

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

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

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
5
ответ дан 2 revs 19 May 2018 в 14:42
поделиться

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

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

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

  • Новый файл iml named foo2.iml
  • Файл iml для вашего проекта Android будет изменен и теперь будет указывать на foo2, так как его родитель
  • .idea / modules.xml будет иметь строку, добавленную для foo2.iml, так что в нем есть как старый файл iml, так и файл для нового каталога

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

8
ответ дан linquize 19 May 2018 в 14:42
поделиться

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

.
9
ответ дан Agilanbu 19 May 2018 в 14:42
поделиться

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

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

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

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profile_settings.xml
  • .idea / encodings.xml
  • .idea / library / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scopes / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

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

17
ответ дан Ashraf.Shk786 19 May 2018 в 14:42
поделиться

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

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

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

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

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

4
ответ дан zenocon 19 May 2018 в 14:42
поделиться

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

  • *. Iml
  • .idea
  • build

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

33
ответ дан Siva Velusamy 19 May 2018 в 14:42
поделиться

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

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids

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

145
ответ дан hichris123 19 May 2018 в 14:42
поделиться

Обновлено 7/2015:

Вот окончательный источник из JetBrains


Формат проекта на основе каталога (каталог .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 Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
78
ответ дан Sky Kelsey 19 May 2018 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: