关于git:gitignore不应该跟踪子目录中的文件,但应该跟踪目录结构

gitignore shouldn't track files in subdirectory, but should track the directory structure

本问题已经有最佳答案,请猛点这里访问。

我有这些文件:

1
2
3
4
Static/Images/img1.png
Static/Images/img2.jpg
Static/Files/file1.pdf
Static/Files/file2.docx

我想存储目录结构,意思是:

1
2
3
Static
Static/Images
Static/Files

但我不想存储这些文件,因为它们只是不必要的静态文件的存储库。另一方面,存储目录结构对我来说很重要。

我尝试了很多东西,搜索了很多,但没有成功。GitIgnore比看起来更难。

一些尝试:

1。

1
2
Static/Images/*
Static/Files/*

2。

1
2
Static/Images/**
Static/Files/**

三。

1
2
3
Static/*
!Static/Images/
!Static/Files/


你不能这样做;Git根本不跟踪目录,而是根据目录所包含的文件创建目录。通常的解决方案是向每个目录添加和跟踪一个空的.gitkeep文件。所以:

1
2
Static/Images/*
!.gitkeep