Удалите файлы .iml из GIT для хорошего
У меня возникают проблемы с файлами .iml, сгенерированными Android Studio. При синхронизации Gradle они восстанавливаются, то есть я должен выполнить фиксацию, даже если ничего не изменилось. Я просто хочу, чтобы эти файлы не отслеживались.
Я пробовал следующие вещи.
- Добавлен
*.iml
в файл проекта .gitignore
, а также каждый модуль .gitignore
. Я пробовал как *.iml
, так и **/*.iml
- Используется
git rm --cached app/app.iml
, когда они появляются в списке поэтапных файлов. Даже после этого и совершения этого, они появляются снова, как позже.
- Как было предложено здесь, я добавил его в Игнорируемые файлы в настройках под управлением версии
Ответы
Ответ 1
У вас есть правильные шаги, но вы должны организовать их
git rm --cached <all_your_iml_files>
убрать их всех из
удаленный репозиторий.
В качестве альтернативы вы можете сделать простую команду, чтобы удалить все файлы *.iml
, такие как
git ls-files | grep "\.iml$" | xargs git rm --cached
Передайте это изменение, используя git commit -m "msg"
, и после этого вы сможете увидеть все ваши файлы *.iml
как неотслеживаемые файлы.
- Добавьте
*.iml
в свой файл .gitignore и зафиксируйте его в отдельном коммите или в том же предыдущем коммите.
Ответ 2
Перейдите в каталог проекта, посмотрите git и извлеките ветку master
cd /home/your_user/project_directory
git checkout master
git pull origin master
отредактируйте файл .gitignore
для вставки *.iml
git rm --cached **/*.iml
git commit -a -m "rm all *.iml, update .gitignore"
git push origin master
Я работал над другим Maven & Java git проект с использованием Idea IDE, и он, кажется, добавляет *.iml во многие дочерние каталоги.
Синтаксис glob **/*.iml
охватывает все файлы iml во всех каталогах в текущем рабочем каталоге.