我使用以下.gitignore文件(全局):
.idea
.svn
/media/covers/*
/media/tmp/*
/media/cache/*
/bin
/include
/lib
/local
*.log
*.pot
*.pyc
local_settings.py
所以在media/covers
,media/tmp
,media/cache
我想忽略所有文件和文件夹,但不想忽略这些目录本身。此.gitignore文件忽略media/covers
,media/tmp
,media/cache
dirs,我该如何解决?
TIA!
答案 0 :(得分:14)
将.gitignore文件添加到要保留的目录中。在该目录中放
*
现在,当您执行git状态时,您将看到内容未显示为已跟踪,仅显示.gitignore文件。由于.gitignore文件位于目录中,这意味着将跟踪目录,但不会跟踪其他内容。
答案 1 :(得分:5)
Git不会将空目录添加到其索引中。我猜这些目录被排除,因为它们是空的,而不是因为匹配忽略规则。
人们解决这个问题的一种方法是在他们希望git保留的目录中创建一个名为.gitkeep
的空文件。因此,您可以将该文件添加到media/covers
,media/tmp
等。然后将!*.gitkeep/
添加到您的.gitignore
文件中。