Git 不忽略某些文件

Git doesnt ignore some of the files

我知道这个问题好像被问过很多次了,但是我一点头绪都没有。

.gitignore 包含 .csv,但后来我尝试提交,我遇到了非常奇怪的行为:

Changes to be committed:

#   new file:   regression/qw/batch_learning.ipynb
#   new file:   regression/qw/submission.csv
#   new file:   regression/qw/test.csv
#
# Untracked files:
#   cm0xg0y1.s2t.txt
#   regression/qw/train.csv
#   text analyses/submission.csv
#

如您所见,有些文件被忽略了,有些则没有。我知道问题可能与 git "saw" 文件有关,但如果是这样,train.csv 将不会被忽略。那么我可以忽略那些文件吗?

.gitignore 文件应包含 *.csv

[edit] 当然,这在手册页中有解释 - 但您首先需要知道 globbing 的含义;)

man gitignore 说:

(...) Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) (...)