
GitHub 是开发人员必不可少的工具,它提供了存储、共享和协作代码的平台。一个常见的问题是如何在 GitHub 存储库中创建一个空目录或文件夹。GitHub 不支持直接创建空目录。但是,有一种解决方法是使用一个虚拟文件,通常是一个 .gitkeep 文件。
为什么 GitHub 不支持空目录 ?
Git 是 GitHub 的底层版本控制系统,它可以跟踪文件的更改。空目录不包含任何文件,因此 Git 不会跟踪它们。因此,如果您要在本地机器上创建一个空目录并尝试将其推送到 GitHub,则该目录将被忽略。
.gitkeep 约定
.gitkeep 文件不是 Git 的官方特性,但它是社区中广泛接受的约定。这个文件没有任何特殊的属性或功能。它的唯一目的是作为一个占位符,允许开发人员提交并将其他空目录推送到他们的存储库。选择 .gitkeep 作为名字是因为它清楚地传达了文件的目的(将目录保存在 Git 中)。
通过命令行创建空目录
下面是使用 .gitkeep 在 GitHub 存储库中创建空目录的分步指南。
例如,你想在项目中添加一个空的 logs 目录
mkdir logs
touch logs/.gitkeep
提交和推送更改
git add .
git commit -m "Added empty directory"
git push origin master
通过 Github Dashboard 创建空目录
(1) 打开要在其中创建新目录的 GitHub 存储库
(2) 单击"Add File"按钮,然后选择"Create new file"
(3) 在 Name 字段中,输入新目录的名称,以 / 结尾。例如,要创建一个名为 logs 的目录,输入 logs/,GitHub 将其视为目录。
(4) 输入提交消息,并决定是否直接提交到主分支,还是创建一个新分支并发起 pull request
(5) 点击 "Commit changes"提交

在 GitHub 上验证
访问您的 GitHub 存储库,查看 logs 目录是否存在。

其它备选文件名
虽然 .gitkeep 是一个受欢迎的约定名称,但一些开发人员使用其他占位符文件名,例如 .placeholder,您选择哪个名字都没关系,必不可少的是目录中有一个文件,因此 Git 可以跟踪它。
我的开源项目
