.gitignore无法忽略新创建的文本文件

时间:2013-04-12 03:10:18

标签: git msysgit

我似乎无法理解为什么我的.gitignore不会忽略一个简单的文本文件。我已经阅读了手册,我认为我已经完成了所有必要的步骤。

首先我创建了一个像这样的新回购:

C:\> mkdir test
C:\> cd test
C:\test> git init

然后我创建了一个.gitignore,它忽略了一个名为junk.txt的文件

C:\test [master]> touch .gitignore
C:\test [master +1 ~0 -0 !]> echo 'junk.txt' >> .gitignore
C:\test [master +1 ~0 -0 !]> git add .gitignore
C:\test [master +1 ~0 -0]> git commit -m 'ignoring junk.txt'

现在我假设我有一个名为junk.txt的文件,git会忽略它。但是,为什么它仍然是一个未经跟踪的文件呢?

C:\test [master]> touch junk.txt
C:\test [master +1 ~0 -0 !]> git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       junk.txt

我正在使用msysgit

C:\test [master +1 ~0 -0 !]> git --version
git version 1.8.0.msysgit.0

1 个答案:

答案 0 :(得分:0)

Gerrytan,您在不使用bash语法的系统上使用bash语法。

具体而言,当您执行以下操作时:

echo 'junk.txt' >> .gitignore

你告诉git忽略文件'junk.txt'包括引号。

如果您使用过bash或任何sh兼容的shell,那么该命令会告诉git忽略'junk.txt'排除引号,因为在这些shell中,引号表示单词边界,但它们在cmd.exe(Windows中的标准命令行)中没有特殊含义。

我建议您在编辑器中打开.gitignore并查看该条目。