4

我初始化文件夹。添加了所有文件提交它们然后推送它们。一切看起来都很好......但我缺少一些文件和文件夹。

以我的 .gitignore 文件为例

web/images/uploaded_profile_pictures/*

但是应该有uploaded_profile_pictures 文件夹...如何在.gitignore 中写入以仅忽略文件夹的内容.. 并保留该文件夹?

第二个问题...为什么缺少内容???

推后

在此处输入图像描述

4

2 回答 2

9

Git 存储库中不可能有没有文件的文件夹,Git 将始终忽略空文件夹(或仅包含被忽略文件的文件夹)。一种常见的解决方法是在您想要包含在 Git 存储库中的空目录中创建占位符文件。

touch web/images/uploaded_profile_pictures/.empty
git add web/images/uploaded_profile_pictures/.empty

现在为.gitignore

web/images/uploaded_profile_pictures/*
!web/images/uploaded_profile_pictures/.empty
# or just
!.empty

这将使 Git 忽略该文件夹中除 之外的所有文件.empty,从而允许您将该文件夹添加到存储库中。

对于第二个问题:缺少什么样的文件?那些只是随机的吗?

于 2013-05-21T17:25:38.267 回答
2

正如@Uroc327 在他的评论中提到的那样,git 不处理“文件夹和文件”,而是使用“内容”。

这意味着 git 根本不存在一个空文件夹。

这是一个常见的问题,最简单的解决方案是在文件夹中添加一些“虚假内容”(一个空文件)。

正如@jwhy 所说,您可以创建一个名为empty.
一种更优雅的方法(在我看来)是在文件夹中包含web/images/uploaded_profile_pictures一个名为的文件.gitignore,其中包含以下内容:

*
!.gitignore
于 2013-05-21T17:36:41.777 回答