无法弄清楚git是如何忽略文件的

时间:2015-12-05 21:02:23

标签: git

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

git add -f <file>

也不起作用。

git status永远不会将其显示为已更改,依此类推。目录中的其他文件很好,特别是这个文件。

然而,git绝对是跟踪它的某个版本,因为我必须在恢复到分支上的先前提交时重新创建当前版本的文件。所以在某些方面它被忽略了,但我不知道如何。

我想强制提交一次,然后再回到忽略,但我不确定如何做到这一点。

2 个答案:

答案 0 :(得分:3)

尝试运行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 update-index --no-assume-unchanged path/to/file删除它。

答案 1 :(得分:0)

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

git rm --cached

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

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

我希望这有帮助!