Как убедиться, что .gitignore работает для нескольких проектов Android в одном репозитории - PullRequest
0 голосов
/ 25 апреля 2019

Моя проблема похожа на описанную в этом посте , но решение не помогло.По сути, у меня есть один репозиторий Github с целой кучей разных папок / каталогов, каждая из которых содержит отдельный проект Android.

Структура одного такого проекта выглядит как MyTeamRepo -> MyAndroidProject -> app

Обычно, если бы это был всего лишь один проект Android, добавление .gitignore в каталог / gradle сработало бы, но в моем случае это не сработало.

Вот что сейчас находится в моем .gitignore:

# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/misc.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches


# Android Studio 3 in .gitignore file.
.idea/caches/build_file_checksums.ser
.idea/modules.xml

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
lint/reports/

Моя проблема в том, что файлы .idea и .gradle продолжают появляться везде во вложенных папках при каждом изменении проекта Android, вызывая всевозможные конфликты слияний при попытке получить изменения из Github.

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

Какие шаги мне нужно предпринять, чтобы полностью очистить мой репозиторийи чтобы убедиться, что .gitignore выполняет свою работу?

1 Ответ

0 голосов
/ 25 апреля 2019

Если вы хотите игнорировать файл в любом месте дерева, используйте что-то вроде

**/.idea/modules.xml

, и независимо от того, где находится каталог .idea, файл modules.xml будет игнорироваться.

...