git是否忽略空文件夹?

Eno*_*Eno 44 git version-control

我创建了一个Android项目,将它添加到我的git repo中,然后将我的克隆推送到主服务器.后来我尝试检查项目,Eclipse抱怨缺少src文件夹.我检查了我的仓库,主仓库和src文件夹丢失了(我确定他们在我创建项目时就在那里).有人能解释这里发生了什么吗?我是git的新手所以也许我错过了一些东西?

Jör*_*tag 69

Git不会忽略空目录.它会忽略所有目录.在Git中,目录仅通过其内容隐式存在.Emtpy目录没有内容,因此它们不存在.

或者换句话说:Git是一个内容跟踪器.空目录不是内容.

  • 不完全是.git有一个"tree"概念(对应一个目录),树实际上有一个sha1哈希,因此有内容:blob(文件)和树(子目录)列表.所以`git`实际上可以(理论上)记录空目录.问题出在索引文件(临时区域):它只列出文件; 和提交是从索引文件构建的. (31认同)

Mic*_*est 58

是的,git忽略空文件夹.

您可以将空.gitignore.gitkeep文件添加到要包含的任何文件夹中.

  • 以下是如何一次性完成...`查找.-depth -not -path"*target*"-not -path"./.git/*"-type d -empty -print` [...这里有很多东西...]`find.-depth -not -path"*target*"-not -path"./.git/*"-type d -empty -exec touch {}/.gitignore \;` (2认同)

pmr*_*pmr 11

Git跟踪内容而不是文件.

这里提出一种解决方案.