9

我在 .gitignore 中提到了一个文件,但我添加它是git add -f因为我只想添加它一次,然后像往常一样忽略它。

但是,现在默认情况下会对其进行跟踪。如何撤消此操作?

4

2 回答 2

11

不完全确定您要查找的内容,但是您可以删除要在将来的提交中忽略的文件

git rm --cached filename

请注意,在将规则添加到此文件以忽略它之前,git 不会忽略已经跟踪的文件。在这种情况下,必须取消跟踪文件,通常使用 git rm --cached 文件名

信息:https ://help.github.com/articles/ignoring-files

或者您可以告诉 git 它忽略文件的更改

git update-index --assume-unchanged filename

并撤消它

git update-index --no-assume-unchanged filename

要列出所有假定未更改的文件,请运行

git ls-files -v|grep '^h'

信息:如何在不影响其他工作副本的情况下 .gitignore 并删除已提交的文件?

但是请记住,假设不变(在我看来)违背了 git 的哲学,这个命令只会忽略它在你的机器上所做的更改。其他人仍然可以覆盖它。

在大多数情况下,您将其用于配置文件。您可以避免使用此选项的方法是将其保留在 .gitignore 中,并将设置描述添加到 README 或创建一个小的设置脚本来创建这些文件。

于 2012-08-30T06:52:32.183 回答
1

你可以用...删除它

git rm --cached file

然后提交。

于 2012-08-30T06:48:11.880 回答