Git忽略目录中的所有文件但不忽略目录

时间:2015-09-04 08:31:08

标签: git

现在我加入了.gitignore

image/cache/*

现在git忽略所有缓存目录,我无法将此目录添加到git。问题是如何忽略图像/缓存/文件但不是目录?

3 个答案:

答案 0 :(得分:4)

如前所述,git跟踪文件,git 跟踪文件夹。

如果你将test.txt放在一个文件夹中,git会"添加"该文件夹只是因为它是导致test.txt。

的路径的一部分

因此,如果您忽略文件夹中的所有文件,git对文件夹本身不执行任何操作,并且不会对其进行跟踪。

答案 1 :(得分:4)

虽然上一个答案非常正确,但这可能会有所帮助:

您可以指定忽略目录的子目录,以免被忽略。例如: 忽略缓存,但不在缓存中“排除”:

!image/cache
images/cache/*
!images/cache/excluded

您还可以使用以下方法强制添加被忽略的文件:

git add path/to/file --force

但如前所述,这仅适用于文件,而不适用于目录。

答案 2 :(得分:0)

其中一个解决方案是添加到目录空文件.gitkeep