如何将一个文件夹添加到git,但不包括其中的任何内容?

15

有没有一种简便的方法可以将一个文件夹添加到git,但不包括它的任何内容呢?

例如,如果我正在开发一个带有images/文件夹的网站,我不想将大型图片添加到github,但我希望该文件夹被添加,因为这会使得其他人/我在其他计算机上更容易地复制该仓库。

一种几乎可以做到这一点的方法是修改我的git-ignore文件,以便忽略某些类型的文件(例如jpegs),但如果我文件夹中的所有文件都是jpegs,并且所有这些都被忽略,那么github也会忽略该文件夹 - 这不是我想要的。

因此,我想知道是否有一条单行命令可以添加文件夹但不包括其内容,最好不必在我想要添加到github的每个文件夹中添加一个空占位符文件。

谢谢!

编辑:经进一步阅读,看起来我确实需要向每个我想要git注意的文件夹添加一个占位符文件,例如'.placeholder'或'.empty'。


3
可能是如何在Git中跟踪目录但不跟踪其文件? 的重复问题。简而言之,你不能这样做。 - Jonathon Reinhart
2个回答

16

我建议创建一个类似于.keep文件,然后执行 "git add my/dir/.keep"。

Git会忽略空文件夹,所以你的文件夹中必须至少有一个文件,这样Git才不会将其忽略。


4
通常这被称为“.gitkeep”。 - Andy Hayden

11
您应该能够在想要保留的每个目录中添加一个 .gitignore 文件(如果我理解意图的话,您还希望该目录保持空白)。您可以选择让文件本身包含 !.gitignore,参见 https://dev59.com/2mw05IYBdhLWcg3weBhF#11579945。然后将该 .gitignore 添加 / 提交。该文件的存在应该会使您的文件夹保存在 git 中,并且忽略除文件本身之外的所有内容,也应该不会将您提到的大型图片添加到远程 repo 的文件夹中。因此,这是两全其美的做法,非常好。

更好的方法是,如果您不想将该文件夹中的任何内容错误提交。谢谢。 - Foton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接