can';我不明白git是如何忽略文件的

can';我不明白git是如何忽略文件的,git,Git,我已经检查了.gitignore和.git/info/exclude,文件不在那里 git add -f <file> git添加-f 也不行 git状态从不显示为正在更改,等等。目录中的其他文件被很好地拾取,特别是这个文件 然而,git肯定是在跟踪它的某个版本,因为在恢复到分支上的前一个提交时,我必须重新创建文件的当前版本。所以在某种程度上,它被忽略了,但我不知道怎么做 我只想强制提交一次,然后返回到忽略,但此时我不确定如何执行。您可能希望取消跟踪您现在要忽略的已添加文件。 这

我已经检查了.gitignore和.git/info/exclude,文件不在那里

git add -f <file>
git添加-f
也不行

git状态从不显示为正在更改,等等。目录中的其他文件被很好地拾取,特别是这个文件

然而,git肯定是在跟踪它的某个版本,因为在恢复到分支上的前一个提交时,我必须重新创建文件的当前版本。所以在某种程度上,它被忽略了,但我不知道怎么做


我只想强制提交一次,然后返回到忽略,但此时我不确定如何执行。

您可能希望
取消跟踪您现在要忽略的已添加文件。
这是如何:

git-rm——缓存的

要添加文件,必须打开
.gitignore
文件。 然后,您可以在中指定文件/路径,如下所示:

*.txt
/entire/path/*
somespecialfile.qrc

我希望这有帮助

尝试运行
git check ignore-v path/to/file

这应该要么返回1,不输出任何内容,表示文件没有被忽略,要么返回0,输出类似的内容

.gitignore:1:file   path/to/file
给出导致Git忽略它的文件、行和模式

请注意,如果文件已被跟踪,则与此无关。Git的忽略系统不适用于跟踪内容。您可以查看是否使用
git ls files path/to/file
跟踪该文件。如果您得到任何输出,将跟踪该文件

在这种情况下,您可能已经在文件上设置了“假定未更改”位。尝试将
-v
选项添加到上一个命令。您的文件现在将以字母作为前缀:

h path/to/file

如果字母为小写,则文件的“假定未更改”位已设置。使用git更新索引删除它--不假设路径/到/文件未更改

它在子目录中吗?是否存在多个
.gitignore
文件?我以前在我的项目中有几个。它可能在全局忽略文件中被忽略了吗?git check ignore没有输出,我假设这意味着它没有被通常的方式忽略?它在一个子目录中,但是这个目录没有.gitignore,它周围的文件是由git拾取的。我不确定你是否理解我的问题。否则我不明白你的答案。我知道如何忽略文件,我不知道这一个文件是如何被git忽略的。我当时没有收到你的问题:/我会把这个问题保留在我的清单上,明天再检查。也许到时候我会弄清楚你到底想要什么:)如果可能的话,提供一些更多的信息,比如“文件名”以及你的文件夹是如何设置的。为了澄清,该文件的“假定未更改”标志设置为on