Android-Studio(Git):* .iml文件总是被提交,为什么?

时间:2016-11-01 11:59:28

标签: android git gitignore

我正在使用Android-Studio开发应用。为了版本控制我的代码,我正在使用GitLab。因此,我创建了以下.gitignore文件以避免提交所有内容:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

# Crashlytics configuations
com_crashlytics_export_strings.xml

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Signing files
.signing/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/libraries/
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
.idea/datasources.xml
.idea/dataSources.ids
*.iml

build/intermediates/dex-cache/cache.xml

.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

但是,每当我尝试commit-changes时,提交都会包含build folder.iml file(在附加图片中突出显示),即使它们已在.gitignore中说明文件。

如何让Android-studio忽略这些文件和文件夹?!

2 个答案:

答案 0 :(得分:0)

要使Intellij IDEA(以及扩展名为Android Studio)完全忽略文件和文件夹,请使用sealed trait List[+A] { def foldRight[B](f: (B, A) => B, acc: B): B = { def go(acc: B, list: List[A]): B = list match { case Nil => acc case Cons(x, xs) => go(f(acc, x), xs) } go(acc, this) } } case object Nil extends List[Nothing] case class Cons[+A](x: A, xs: List[A]) extends List[A] val list: List[Int] = Cons(1, Cons(2, Cons(3, Cons(4, Nil)))) val acc: Int = 0 // this one works println(list.foldRight((x: Int, y: Int) => x + y, acc)) // this one says cannot resolve symbol + println(list.foldRight((x, y) => x + y, acc)) 中的以下内容:

enter image description here

来自https://www.jetbrains.com/help/idea/2016.2/file-types.html

  

忽略文件和文件夹:在此文本框中,指定文件和   文件夹,您希望IntelliJ IDEA忽略这些文件夹。这样的文件和   文件夹将完全排除在任何类型的处理之外。通过   默认列表包括临时文件,与之相关的服务文件   版本控制系统等

答案 1 :(得分:0)

试试这个

  

首先提交任何未完成的代码更改,然后运行以下命令:

     

git rm -r --cached。

     

这将从索引(暂存区域)中删除所有已更改的文件,然后只删除   运行:

     

git add。

     

承诺:

     

git commit -m“.gitignore正在工作”

完整答案here