.gitkeep与git的文件追踪策略

38 阅读2分钟

image.png

在我们创建一个新的工程项目、或者对已有项目的目录进行整理的时候,难免会需要新建一些空的目录;然而当我们创建完成空的目录之后,却发现没有在仓库的追踪中看到文件夹,那么这是为什么呢?

Git的文件追踪策略

  1. 在默认的Git的文件追踪策略中,仅追踪文件的,而不会追踪文件夹
  2. Git追踪的文件名称不区分大小写,因此在有时候修改了文件的名称大小写之后,发现文件没有被追踪;
  3. Git追踪的文件可以使用git rm files进行移除

如何使用.gitkeep

因此我们需要在文件夹中添加一些内容,比如a.txtb.txt等等。

然而,常见的标准做法是在空文件夹中放一个 .gitkeep 文件。

这并不是Git提供的特性!所以你可以随意给这个文件命名。.gitkeep 这个名字并没有什么特殊含义——有些开发者也会用 .gitignore。(译注:然而 .gitignore 文件是有特殊含义的,最好别用这个名字。在实践中推荐使用 .gitkeep,如果随意命名可能会造成困惑。)

不过 .gitignore 会令人迷惑,因为你的目的是让 Git 不要忽略你的文件,并且把它推送到分支。

不管使用哪种方式,通过添加这个简单的文件,你的文件夹到时就能够被正确推送。

使用

.gitkeep 在代码库中是很常见的,如果需要让 Git 追踪一个空文件夹,那其中一般会有这个文件。

这个虚拟文件的名字不一定总是 .gitkeep,不过作为开发者,你会一次又一次地看到这种实践。