我如何将一个空的目录(不包含文件)添加到一个Git存储库中?
当前回答
在目录中创建一个名为.gitkeep 的空白文件,然后将其添加到 git。
这将是一个隐藏的文件在Unix类似系统的默认情况下,但它将迫使Git承认该目录的存在,因为它现在有内容。
此外,请注意,关于此文件的名称没有什么特别的。 你可能已经命名了它你想要的任何东西. 所有 Git 关心的是,文件夹里有什么东西。
其他回答
当您添加一个.gitignore 文件时,如果您将放置任何内容(您希望 Git 忽略),您可能希望添加一个单一行,只需一个星级 * 以确保您不会随机添加被忽略的内容。
您可以随时将 README 文件放入目录中,并解释为什么您想要此,否则空白,目录在存储库中。
基本上,一个源代码管理系统的目的是管理源代码,空的目录不是源代码,Git也经常被描述为内容跟踪器,再次,空的目录不是内容(相反的,实际上),所以它们不被跟踪。
安迪·莱斯特是对的,但如果你的目录只需要是空的,而不是空的,你可以把一个空的.gitignore 文件在那里作为一个工作室。
另一方面,这是一个实施问题,而不是一个基本的Git存储设计问题,正如在Git邮件列表上多次提到的那样,这一点没有实施的原因是没有人照顾足以提交一个插件,而不是它不能或不应该完成。
为什么我们需要空版本的文件夹
第一件事先:
一个空的目录不能在 Git 版本系统下成为树的一部分。
但有一些场景,在那里“版本”空的目录可能有意义,例如:
一些建议工作
放置一个 README 文件或其他包含某些内容的文件,以使目录不空,或创建一个.gitignore 文件,具有某种“逆逻辑”(即包含所有文件),最终服务于相同的目的的方法#1。
.Gitkeep方法
使用一个空白的文件称为.gitkeep 以强制文件夹在版本系统中的存在。
您使用一个文件,唯一的目的是保持文件夹. 您不会放置任何信息,你不想放置. 例如,您应该使用 READMEs 作为, 好, READMEs 有用的信息, 不是作为一个借口保持文件夹. 分离担忧总是一个好事, 你仍然可以添加一个.gitignore 忽略不需要的文件。
采用
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 如何复制在bash所有目录和文件递归?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式