从GIT中移除.iml文件以获得良好

时间:2016-03-02 14:55:35

标签: android git android-studio intellij-idea

我遇到Android Studio生成的.iml文件的问题。在Gradle同步时,它们会被重新生成,这意味着即使没有任何更改,我也必须进行提交。我只是想让这些文件不受限制。

我尝试了以下事项。

  • *.iml添加到我项目的.gitignore文件以及每个模块的.gitignore。我尝试了*.iml**/*.iml
  • 当它们出现在暂存文件列表中时使用git rm --cached app/app.iml。即使在这样做并提交之后,它们也会在以后再次上演。
  • 根据建议here我将其添加到版本控制下的设置中的忽略文件

2 个答案:

答案 0 :(得分:24)

您有正确的步骤,但您需要整理它们

  1. git rm --cached <all_your_iml_files>从中移除所有这些内容 远程存储库

    或者,您可以执行一个简单的命令来删除所有*.iml文件 git ls-files | grep "\.iml$" | xargs git rm --cached

  2. 使用git commit -m "msg"提交更改,之后,您可以将所有*.iml个文件视为未跟踪文件。

  3. *.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文件。