我如何将一个空的目录(不包含文件)添加到一个Git存储库中?


当前回答

另一种方式让一个目录保持(几乎)空白(在存储库中)是创建一个.gitignore 文件在该目录内,其中包含以下四行:

# Ignore everything in this directory
*
# Except this file
!.gitignore

然后你不需要得到订单正确的方式,你必须在m104的解决方案。

此外,这还提供了该目录中的文件不会在您进行 git 状态时显示为“不受吸引”的好处。

让 @GreenAsJade的评论持久:

我认为值得注意的是,这个解决方案正是问题所提出的,但并不确定许多人正在寻找什么。这个解决方案保证目录仍然是空的. 它说“我真的从来不想要文件在这里检查”。 相反,“我没有任何文件在这里检查,但是,我需要目录在这里,文件可能会出现。

其他回答

另一种方式让一个目录保持(几乎)空白(在存储库中)是创建一个.gitignore 文件在该目录内,其中包含以下四行:

# Ignore everything in this directory
*
# Except this file
!.gitignore

然后你不需要得到订单正确的方式,你必须在m104的解决方案。

此外,这还提供了该目录中的文件不会在您进行 git 状态时显示为“不受吸引”的好处。

让 @GreenAsJade的评论持久:

我认为值得注意的是,这个解决方案正是问题所提出的,但并不确定许多人正在寻找什么。这个解决方案保证目录仍然是空的. 它说“我真的从来不想要文件在这里检查”。 相反,“我没有任何文件在这里检查,但是,我需要目录在这里,文件可能会出现。

如果你想添加一个文件夹,将存储大量的过渡数据在多个性别目录,那么一个方法是将这样的东西添加到你的根.gitignore。

/app/data/**/*!/app/data/**/*.md

然后你可以承诺描述的 README.md 文件(或白色文件,不管,只要你可以针对它们独特的类似于 *.md 在这种情况下)在每个目录,以确保所有目录仍然是 repo 的部分,但文件(有扩展)被忽略。

您可以用 xml / 图像文件或任何东西填写所有这些目录,并随着时间的推移在 /app / data / 下添加更多目录,因为您的应用程序开发的存储需要(使用 README.md 文件来燃烧,描述每个存储目录的准确性)。

此分類上一篇

我也面临着空的目录的问题. 使用存储文件的问题是,你需要创建它们,并删除它们,如果它们不再需要(因为后来添加了子目录或文件。

这就是为什么我决定写一个开源工具,可以自动管理创建/删除此类存储文件。 它是为.NET 平台写的,并在 Mono (.NET for Linux) 和 Windows 中运行。

只需看看: http://code.google.com/p/markemptydirs

你不能,不幸的是,你永远不会能做到这一点,这是Linus Torvald自己做的决定,他知道什么对我们有好处。

这里有一个地方,我读过一次。

我找到了 Re: 空的目录,但也许还有另一个。

你必须和工人一起生活......不幸的是。

当您添加一个.gitignore 文件时,如果您将放置任何内容(您希望 Git 忽略),您可能希望添加一个单一行,只需一个星级 * 以确保您不会随机添加被忽略的内容。