gitignore不工作 - 想要忽略除gitignore文件以外的所有内容以保留“空”目录

时间:2011-10-24 14:27:43

标签: git gitignore

我在几个目录(例如.gitignore)中有一个log/文件,其中包含以下内容:

*            " Ignore everything in this directory
!.gitignore  " Except this file

尽管如此,如果该目录中有一个文件,git status会向我显示它是新的但没有跟踪。

# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       log/blah.log
nothing added to commit but untracked files present (use "git add" to track)

我在stackoverflow上发现了其他帖子,建议在第一行和各种其他形式或随机伏都教上发表评论,但没有任何效果。

简单地说,我想在我的仓库中存在tmp/log/目录,但是空的。我不希望任何人被骚扰将他们的日志和tmp文件添加到这些目录。

1 个答案:

答案 0 :(得分:6)

您是否期望双引号在您的评论中表现得像评论一样 .gitignore档案?你有这个......

*            " Ignore everything in this directory
!.gitignore  " Except this file

......但那就是你想要的。如果你用简单的替换它:

*
!.gitignore

它会正常工作。观看:

$ ls -A
dir1 .git
$ ls -A dir1
.gitignore
$ cat dir1/.gitignore
*
!.gitignore
$ git status
# On branch master
nothing to commit (working directory clean)
$ touch dir1/file{1,2,3}
$ ls -A dir1
file1 file2 file3 .gitignore
$ git status
# On branch master
nothing to commit (working directory clean)