2012-09-20 130 views
5

我用下面的.gitignore文件(全局)的文件夹的内容只:混帐:忽略

.idea 
.svn 
/media/covers/* 
/media/tmp/* 
/media/cache/* 
/bin 
/include 
/lib 
/local 
*.log 
*.pot 
*.pyc 
local_settings.py 

所以在media/coversmedia/tmpmedia/cache我想忽略所有文件和文件夹,但不是这个目录本身。这个.gitignore文件忽略media/covers,media/tmp,media/cache dirs,我该如何解决它?

TIA!

+1

Git根本不跟踪目录,只有目录中的文件。 – twalberg

回答

14

将.gitignore文件添加到您要保留的目录。在该目录中把

* 

现在,当你做一个git的状态,您将看到的内容不会显示为被跟踪,只有的.gitignore文件。由于.gitignore文件在目录中,这意味着该目录将被跟踪,但没有其他内容。

5

Git不会将空目录添加到其索引。我猜这些目录被排除,因为它们是空的,不是因为匹配忽略规则。

解决此问题的一种方法是在他们希望git保留的目录中创建一个名为.gitkeep的空文件。所以你可以将该文件添加到media/coversmedia/tmp等,然后将!*.gitkeep/添加到您的.gitignore文件。

+0

我喜欢.gitkeep文件的想法。这是一种说法。谢谢! –

+0

现在不工作? –