版本控制-git是否忽略空文件夹?

我创建了一个Android项目,将其添加到我的git repo中,提交并克隆到主数据库。 后来我尝试签出该项目,Eclipse抱怨缺少src文件夹。 我检查了我的存储库,发现主存储库和src文件夹丢失了(我在创建项目时确定它们在那里)。 那么有人可以解释一下这里发生了什么吗? 我是git的新手,所以也许我错过了一些东西?

Eno asked 2020-08-12T06:05:42Z
6个解决方案
67 votes

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

或者换一种说法:Git是一个内容跟踪器。 空目录不满足。

Jörg W Mittag answered 2020-08-12T06:05:53Z
56 votes

是的,git会忽略空文件夹。

您可以将一个空的3007729839689439434112或.gitkeep文件添加到要包含的任何文件夹中。

Michael Forrest answered 2020-08-12T06:06:17Z
11 votes

Git跟踪内容而不是文件。

这里提出一个解决方案。

pmr answered 2020-08-12T06:06:42Z
4 votes

git会忽略所有目录,无论它们是否为空。

当文件需要在不存在的目录中存在时,git在磁盘上构建树时会创建目录。 否则,将不会关注目录。

Dustin answered 2020-08-12T06:07:06Z
1 votes

是的,git会忽略空文件夹,有关如何解决的一些建议是:

  1. 将自述文件放在文件夹中并描述文件夹内容,或者为什么文件夹为空并且必须保留
  2. 将名为.gitignore的空文件放入文件夹中
  3. (我最喜欢的地方)在其中放一个名为.gitkeep的空文件。 此解决方案是上下文相关的,因为如果有人看到该文件,它将理解为什么在文件夹中
Ademir Mazer Jr - Nuno answered 2020-08-12T06:07:43Z
0 votes

是的,git不会跟踪空文件夹。 在此处找到有关StackOverflow的完整讨论

labratmatt answered 2020-08-12T06:08:03Z
translate from https://stackoverflow.com:/questions/3030230/does-git-ignore-empty-folders