我刚刚在我的新项目的根上做了一个git初始化。

然后我创建了一个.gitignore文件。

现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?


当前回答

.gitignore是关于忽略其他文件。Git是关于文件的,所以这是关于忽略文件的。然而,当git处理文件时,这个文件需要作为列出其他文件名的机制。

如果它被称为.the_list_of_ignored_files,可能会更明显一些。

一个类比是你不想做的待办事项列表。除非你把它们列在某种“待办事项”清单上,否则你不会知道它们。

其他回答

添加.gitignore文件并提交后,它将不再显示在“未跟踪文件”列表中。

git add .gitignore
git commit -m "add .gitignore file"
git status

其思想是将特定于项目的文件放入.gitignore文件中,并(如前所述)将其添加到存储库中。例如.pyc和.o文件,测试套件创建的日志,一些fixture等等。

对于您自己的安装程序创建的但不一定会出现在每个用户面前的文件(例如。swp文件,如果您使用vim,隐藏的ecplise目录等),您应该使用.git/info/exclude(如上所述)。

如果你已经签入了.gitignore,并且你想忽略对它的修改,看看这个答案:

尝试使用这个命令: git update-index——assume-unchanged FILENAME_TO_IGNORE 要反转它(如果你想提交更改),使用: Git update-index——no-assume-unchanged 更新: 下面是如何列出“假定不变”文件在当前 目录: git ls-files -v | grep -E "^[a-z]" 因为-v选项会用小写字母表示" assume unchanged " 文件。

.gitignore是关于忽略其他文件。Git是关于文件的,所以这是关于忽略文件的。然而,当git处理文件时,这个文件需要作为列出其他文件名的机制。

如果它被称为.the_list_of_ignored_files,可能会更明显一些。

一个类比是你不想做的待办事项列表。除非你把它们列在某种“待办事项”清单上,否则你不会知道它们。

这似乎只适用于当前目录,以便让Git忽略存储库中的所有文件。

更新此文件

.git/info/exclude 

用您的通配符或文件名

* pyc * swp 赶紧*