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


当前回答

在cmd窗口中,使用下面的git命令,

git rm—缓存的文件名

解释:

gitrm-从工作树和索引中删除文件

--高速缓存的使用此选项可以取消分级并仅从索引中删除路径。工作树文件,无论是否修改,都将被单独保留。

--来自https://git-scm.com/docs/git-rm

其他回答

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

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

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

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

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

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

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

git rm -r --cached .

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

git add .

提交:

git commit -m ".gitignore is now working"

我是初学者,昨晚(在Windows上)遇到了同样的问题。我发现你的.gitignore文件不能有.txt扩展名。我是这样解决的。

打开任何目录并转到菜单栏,单击视图,然后选中“文件扩展名”之后,通过删除.txt扩展名来编辑.gitignore文件的名称。因此,您将得到一个文本文件.gitignore,而不包含.txt extsion。

我知道这已经有很多答案了,但我最后回答这个问题的方式如下。。。

在新的repo中安装npm之前,我已经完成了'node_modules'>.gitignore,直到我更改了.gitignore'(添加了'**/node_modules'、'/node_mdules'等),然后进入git状态,我才意识到它是二进制格式,而不是文本格式,因此git无法识别它。

我通过删除.gitignore文件并将其重新添加到编辑器中来解决问题。

好吧,我的错误让人困惑。ginignore和。idea/。gitignore我用.iide/.gitignore做了所有的事情,不会对git存储库进行任何更改。希望这能帮助人们犯下和我一样的错误。