乐闻世界logo
搜索文章和话题

Git 如何将空目录添加到存储库?

3个答案

1
2
3

在Git中,空目录本身不会被包含在版本控制中。这是因为Git跟踪文件的变化,而不是目录。但是,常见的做法是在需要跟踪的空目录里添加一个名为 .gitignore 的文件。

以下是将空目录添加到Git存储库的步骤:

  1. 在你的本地文件系统中创建你想要跟踪的空目录。例如,你想跟踪名为 empty-folder 的目录:

    bash
    mkdir empty-folder
  2. 在这个空目录中创建一个 .gitignore 文件。这个文件可以包含一些规则来告诉Git忽略哪些文件,但在这种情况下,我们只是用它来保持目录的存在。打开文本编辑器,创建一个名为 .gitignore 的文件,并写入以下内容:

    shell
    # Ignore everything in this directory * # Except this file !.gitignore
  3. 这样,.gitignore 文件会告诉Git忽略该目录下的所有文件(* 表示所有文件),但不包括 .gitignore 文件自身(!.gitignore)。

  4. 将新建的 .gitignore 文件添加到版本控制中:

    bash
    git add empty-folder/.gitignore
  5. 提交更改到你的Git存储库:

    bash
    git commit -m "Add empty-folder with .gitignore"
  6. 将更改推送到远程仓库(如果有的话):

    bash
    git push

使用这种方法,虽然目录是空的,但其中的 .gitignore 文件确保了Git将目录包含在版本控制中。这是在Git中处理空目录的常见方式。

2024年6月29日 12:07 回复

.gitkeep在目录中创建一个名为的空文件,然后git add将其命名为.

默认情况下,这将是类 Unix 系统上的隐藏文件,但它会强制 Git 承认该目录的存在,因为它现在有内容。

另请注意,该文件的名称没有什么特别之处。您可以将其命名为您想要的任何名称。Git 关心的只是文件夹中有东西。

2024年6月29日 12:07 回复

touch .placeholder

在 Linux 上,这会创建一个名为 的空文件.placeholder。就其价值而言,这个名称与 git 无关,并且这种方法用于系统中的其他各个地方,例如/etc/cron.d/.placeholder. 其次,正如另一位用户所指出的,.git可以为 Git 本身用于配置目的的文件和目录保留前缀约定。

或者,正如另一个答案中所述,该目录可以包含一个描述性README.md文件

无论哪种方式,这都要求文件的存在不会导致您的应用程序崩溃。

2024年6月29日 12:07 回复

你的答案