如何. gitignore文件夹中的所有文件/文件夹,但不是文件夹本身?

我想签入一个空白文件夹到我的Git存储库。实际上,我需要忽略文件夹中的所有文件和文件夹,但不是文件夹本身。我该怎么做?我应该在我的.gitignore文件中放什么?

对于那些想知道我为什么要这样做的人,我在我的存储库中有一个“上传”目录。我想提交空白目录,但没有所有内容。

558118 次浏览

你不能在git中提交空文件夹。如果你想让它显示出来,你需要在里面放一些东西,即使只是一个空文件。

例如,将一个名为.gitkeep的空文件添加到您要保留的文件夹中,然后在您的.gitignore文件中写入:

# exclude everythingsomefolder/*
# exception to the rule!somefolder/.gitkeep

提交.gitignore.gitkeep文件,这应该可以解决您的问题。

将此.gitignore放入文件夹,然后git add .gitignore

*!.gitignore

*行告诉git忽略文件夹中的所有文件,但!.gitignore告诉git仍然包含.gitignore文件。这样,您的本地存储库和存储库的任何其他克隆都可以同时获得空文件夹和它需要的.gitignore

编辑:可能很明显,但也将*/添加到.gitignore以忽略子文件夹。