如何在Android Studio项目中的.gitignore文件中忽略app/app.iml文件?

12
无论我如何构建我的 .gitignore 文件,似乎都无法通过 Android Studio 2.0.0 忽略 app/app.iml。迄今为止,我已经尝试过遵循 GitHub 标准的 Android Studio .gitignore 模板忽略所有 *.iml 文件,以及直接针对该文件进行处理。
app/app.iml
*.iml

有人遇到过与此特定文件或其他*.iml文件类似的问题吗?你是如何解决的?


这个应该可以工作。你之前添加过它吗?如果是,你从索引中删除了它吗? - David Medenjak
你是在提交文件后再添加gitignore吗? - OneCricketeer
@DavidMedenjak 究竟是什么?我们的 Android 目录设置可能是罪魁祸首。在 Android Studio 项目中,我们有一个名为 'app' 的目录,当我在 Android Studio 中时,它似乎认为在父目录下有一个相同名称的 app/ 子目录,尽管该子 app 目录并不存在。 - Nick Sarafa
@cricket_007,app.iml文件很久以前就已经提交了。我不会添加新的app.iml文件,因为它是由Android Studio自动生成的。 - Nick Sarafa
1
如果已经提交了,那么在正确忽略之前,您必须从Git缓存中删除它。 - OneCricketeer
@cricket_007пјҢеңЁдёӢйқўпјҢ@kurtaciousе»әи®®иҝҗиЎҢд»ҘдёӢе‘Ҫд»Өgit rm --cached app/app.imlгҖӮиҝҷж ·еҒҡеҸҜд»Ҙи§ЈеҶій—®йўҳеҗ—пјҹиҷҪ然жҲ‘е·Із»Ҹи§ЈеҶідәҶиҝҷдёӘй—®йўҳпјҢдҪҶдҪ иҜҙзҡ„еҸ–ж¶Ҳзј“еӯҳж–Ү件д№ҹжҳҜеҸҜиЎҢзҡ„гҖӮ - Nick Sarafa
4个回答

24

如果在更新.gitignore之前已经将文件提交到Git仓库,那么该文件将继续被Git跟踪。

尝试使用 git rm --cached app/app.iml 命令并在之后进行另一次提交以移除该文件。


1
我认为我已经找到了问题所在。然而,我还是尝试了一下,有趣的是.git认为这个文件已经被删除了。这可能是在更新.gitignore文件后的另一种解决方案。 - Nick Sarafa

7
尝试在 .gitignore 文件中将 app/app.iml 添加斜杠,像这样:/app/app.iml。在遵循 @xiaoyaoworm 的建议后,我做到了这一点。

5

请尝试以下步骤:

  1. 删除已缓存的iml文件,使用: git rm --cached <all_your_iml_files>
  2. .gitignore文件中添加*.iml并重新提交。

此后,iml文件将不再被跟踪。


2

我认为你所做的应该有效。尝试安装.ignore插件,右键单击那个文件app.iml,然后选择“添加到忽略文件”。


我按照您的指示操作了,插件将/app/app.iml添加到了我的.gitignore文件中,并在开头加上了反斜杠。值得一提的是,在按照您的指示后,Android Studio报错:.ignore threw an uncaught EmptyThrowable.并提供了禁用.ignore插件的选项。不过总体来说,这个方法似乎有效!谢谢! - Nick Sarafa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接