从GIT中删除.iml文件

Stu*_*ing 21 git android intellij-idea android-studio

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

我尝试过以下的事情.

  • 添加*.iml到我的项目.gitignore文件以及每个模块中.gitignore.我曾经尝试都*.iml**/*.iml
  • 使用git rm --cached app/app.iml时,它们出现在上演的文件列表.即使在这样做并提交之后,它们也会在稍后再次上演.
  • 正如这里建议的那样,我将它添加到版本控制下的设置中的忽略文件中

Ahm*_*azy 31

您有正确的步骤,但您需要组织它们

  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文件并在单独的提交或同一个先前的提交中提交.

  • 我已多次这样做了.事实上,每当他们重新出现时我就这样做,但他们总是重新上演 (4认同)
  • 我刚刚使用`git rm --cached`删除了所有`.iml`文件,将其推送到远程存储库的分支,然后进行了gradle同步,并再次将.iml文件添加到staging ... (3认同)

Jam*_* T. 8

cd 进入项目目录,git checkout 并拉取 master 分支

cd /home/your_user/project_directory
git checkout master
git pull origin master
Run Code Online (Sandbox Code Playgroud)

编辑.gitignore要插入的文件*.iml

git rm --cached **/*.iml
git commit -a -m "rm all *.iml, update .gitignore"
git push origin master
Run Code Online (Sandbox Code Playgroud)

我正在使用 Idea IDE 处理另一个 maven & Java git 项目,它似乎在许多子目录中添加了 *.iml。

glob 语法**/*.iml将覆盖当前工作目录中所有目录中的所有 iml 文件。