https://git.wiki.kernel.org/index.php/GitFaq#Can_I_add_empty_directories.3F

我看了一些参考资料,对这点有所诠释,这个小问题其实关乎于git的设计原则。

git是一个文件追踪器,他只trace内容。

git不只是忽略空文件夹,实际上本质上它没有考虑任何文件夹。

至少当前版本中(应该大概率永远如此),git的index 只考虑文件列表。而单个空目录实际上从文件内容层面是无意义的,所以自然而然得就不会被记录上传。解决方法也很简单,就是上传一个无意义文件进去,让文件夹从文件的角度有意义(有个占位符)即可。一般约定俗成的是.gitkeep,当然项目中也会用readme.md占位,这样还可以给点提示,告诉用户这文件夹干嘛用的。