我是init文件夹。添加所有文件提交它们而不是推送它们。一切都很好......但我错过了一些文件和文件夹。
例如我的.gitignore文件
web/images/uploaded_profile_pictures/*
但是应该有upload_profile_pictures文件夹...如何在.gitignore中编写它以忽略文件夹的内容..并保留文件夹?
第二个问题......为什么缺少内容?
推后
答案 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