git没有推空文件夹

时间:2013-05-21 17:15:33

标签: git

我是init文件夹。添加所有文件提交它们而不是推送它们。一切都很好......但我错过了一些文件和文件夹。

例如我的.gitignore文件

web/images/uploaded_profile_pictures/*

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

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

推后

enter image description here

2 个答案:

答案 0 :(得分:7)

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以外的所有文件,允许您将文件夹添加到仓库中。

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

答案 1 :(得分:1)

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

这意味着git就不存在空文件夹了。

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

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

*
!.gitignore