5

我使用以下 .gitignore 文件(全局):

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

所以在media/covers,中media/tmpmedia/cache我想忽略所有文件和文件夹,而不是这个目录本身。这个 .gitignore 文件忽略media/covers, media/tmp, media/cachedirs,我该如何修复它?

蒂亚!

4

2 回答 2

14

将 .gitignore 文件添加到您要保留的目录中。在那个目录里放

*

现在,当您执行 git status 时,您会看到内容未显示为正在跟踪,只有 .gitignore 文件。并且由于 .gitignore 文件在目录中,这意味着该目录将被跟踪,但不会跟踪其他内容。

于 2012-09-20T15:14:16.123 回答
5

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

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

于 2012-09-20T15:15:09.513 回答