我初始化文件夹。添加了所有文件提交它们然后推送它们。一切看起来都很好......但我缺少一些文件和文件夹。
以我的 .gitignore 文件为例
web/images/uploaded_profile_pictures/*
但是应该有uploaded_profile_pictures 文件夹...如何在.gitignore 中写入以仅忽略文件夹的内容.. 并保留该文件夹?
第二个问题...为什么缺少内容???
推后
我初始化文件夹。添加了所有文件提交它们然后推送它们。一切看起来都很好......但我缺少一些文件和文件夹。
以我的 .gitignore 文件为例
web/images/uploaded_profile_pictures/*
但是应该有uploaded_profile_pictures 文件夹...如何在.gitignore 中写入以仅忽略文件夹的内容.. 并保留该文件夹?
第二个问题...为什么缺少内容???
推后
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
,从而允许您将该文件夹添加到存储库中。
对于第二个问题:缺少什么样的文件?那些只是随机的吗?
正如@Uroc327 在他的评论中提到的那样,git 不处理“文件夹和文件”,而是使用“内容”。
这意味着 git 根本不存在一个空文件夹。
这是一个常见的问题,最简单的解决方案是在文件夹中添加一些“虚假内容”(一个空文件)。
正如@jwhy 所说,您可以创建一个名为empty
.
一种更优雅的方法(在我看来)是在文件夹中包含web/images/uploaded_profile_pictures
一个名为的文件.gitignore
,其中包含以下内容:
*
!.gitignore