我遇到Android Studio生成的.iml文件的问题。在Gradle同步时,它们会被重新生成,这意味着即使没有任何更改,我也必须进行提交。我只是想让这些文件不受限制。
我尝试了以下事项。
*.iml
添加到我项目的.gitignore
文件以及每个模块的.gitignore
。我尝试了*.iml
和**/*.iml
git rm --cached app/app.iml
。即使在这样做并提交之后,它们也会在以后再次上演。答案 0 :(得分:24)
您有正确的步骤,但您需要整理它们
git rm --cached <all_your_iml_files>
从中移除所有这些内容
远程存储库
或者,您可以执行一个简单的命令来删除所有*.iml
文件
git ls-files | grep "\.iml$" | xargs git rm --cached
使用git commit -m "msg"
提交更改,之后,您可以将所有*.iml
个文件视为未跟踪文件。
*.iml
添加到您的 .gitignore 文件中,并在单独的提交或之前的同一提交中提交。答案 1 :(得分:1)
进入项目目录,git checkout和pull master branch
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&amp;使用Idea IDE的Java git项目似乎在许多子目录中添加了* .iml。
glob语法**/*.iml
将涵盖当前工作目录中所有目录中的所有iml文件。