由于某种原因,我的.gitignore文件无法正常工作,而且没有多少谷歌搜索能够修复它

*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log

它在主目录中,这是我的git repo。我运行Git 1.8.4.2,因为我使用的是运行OSX 10.8.6的MacBook。


当前回答

@Ahmad的答案是有效的,但如果你只是想忽略一个特定文件或几个文件,请按照@Nicolas的建议做

步骤1

将文件名添加到.gitignore文件

步骤2

[从git缓存中删除文件名(文件路径)

git rm—缓存的文件名

步骤3

提交更改git添加文件名

gitcommit-m“将文件名添加到.gitignore”

它将保持您的git历史记录干净,因为如果您执行git rm-r--cached。并将所有文件加回去提交,这将污染您的git历史记录(这将显示您在一次提交时添加了大量文件)。我不确定我表达的想法是否正确,但希望您明白这一点

其他回答

在我的例子中,文件开头有一个空白,当我在记事本中打开文件时,它清晰地显示出来,在Visual Studio代码中不明显。

在经历了一点兔子洞之后,我试图找到这个问题的答案(可能是因为我必须在一个视觉工作室项目中这样做),我发现更容易的方法是

剪切并粘贴我不再想跟踪的文件到临时位置提交这些文件的“删除”提交.gitignore的修改以排除我临时移动的文件将文件移回文件夹。

我发现这是最直接的方法(至少在visual studio中,或者我会假设其他基于IDE的环境,如Android studio),而不会意外地用一个非常普遍的git rm-rf-cached砸自己的脚,之后,我正在处理的visual studio项目没有加载。

@Ahmad的答案是有效的,但如果你只是想忽略一个特定文件或几个文件,请按照@Nicolas的建议做

步骤1

将文件名添加到.gitignore文件

步骤2

[从git缓存中删除文件名(文件路径)

git rm—缓存的文件名

步骤3

提交更改git添加文件名

gitcommit-m“将文件名添加到.gitignore”

它将保持您的git历史记录干净,因为如果您执行git rm-r--cached。并将所有文件加回去提交,这将污染您的git历史记录(这将显示您在一次提交时添加了大量文件)。我不确定我表达的想法是否正确,但希望您明白这一点

要取消跟踪已添加/初始化到存储库的单个文件,即停止跟踪该文件,但不从系统中删除它,请使用:git rm--缓存文件名

要取消跟踪.gitignore中的每个文件,请执行以下操作:

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

git rm -r --cached .

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

git add .

提交:

git commit -m ".gitignore is now working"

此外,评论必须在自己的行上。它们不能放在入口之后。所以这行不通:

/node_modules  # DON'T COMMENT HERE (since nullifies entire line)

但这将奏效:

# fine to comment here
/node_modules