由于某种原因,我的.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。


当前回答

我用一些东西为我生成了common.gitignore,我遇到了这个问题。读了@Ozesh的答案后,我在VS代码中打开了它,因为它在右下角有一个很好的指示器,显示了行尾的类型。这是低频,所以我按照建议转换为CRLF,但没有骰子。

然后我看了看行尾,发现它是用UTF16保存的。所以我使用UTF8编码一个voila重新保存,它起了作用。我认为CRLF并不重要,所以我把它改回LF以确保它仍然有效。

当然,这不是OP的问题,因为他已经提交了文件,所以它们已经被索引了,但我想我会分享一下,以防其他人遇到这个问题。

太长,读不下去了如果你还没有提交文件,并且.gitignore仍然不受尊重,那么检查文件编码,确保其UTF8,如果这不起作用,那么可以尝试使用换行符。

其他回答

我已经完成了echo-node_modules>>.gitignore,但没有成功。

出于某种原因,vscode的终端将文件保存在UCS-2LE BOM中,git似乎不接受这一点。

我使用记事本打开文件并将其转换为UTF-8++

它现在起作用了。

我认为他们需要解决这个问题,因为echo“filetoignore”>>

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

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

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

git rm -r --cached .

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

git add .

提交:

git commit -m ".gitignore is now working"

这3个命令将解决问题,您的.gitignore将工作:

git rm -r --cached .
git add .
git commit -m 'Remove ignored files'

现在检查状态:

git status

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

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

但这将奏效:

# fine to comment here
/node_modules

添加我的一点,因为这是一个流行的问题。

我无法将.history目录放在.gitignore中,因为无论我尝试了什么组合,它都不起作用。每次保存时,Windows都会生成新文件,我根本不想看到这些文件。

但后来我意识到,这只是我机器上的个人开发环境。像.history或.vscode这样的东西对我来说是特定的,所以如果每个人都根据所使用的IDE或OS包含自己的.gitignore条目,那就很奇怪了。

所以这对我来说很有用,只需在.git/info/exclude中添加“.hhistory”即可

echo ".history" >> .git/info/exclude