我似乎无法理解为什么我的.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
答案 0 :(得分:0)
Gerrytan,您在不使用bash语法的系统上使用bash语法。
具体而言,当您执行以下操作时:
echo 'junk.txt' >> .gitignore
你告诉git忽略文件'junk.txt'包括引号。
如果您使用过bash或任何sh兼容的shell,那么该命令会告诉git忽略'junk.txt'排除引号,因为在这些shell中,引号表示单词边界,但它们在cmd.exe(Windows中的标准命令行)中没有特殊含义。
我建议您在编辑器中打开.gitignore并查看该条目。