GIT 第31章 项目目录下的.gitkeep是什么东西 GIT 第31章 项目目录下的.gitkeep是什么东西

1天前

一、项目故事

我们开发项目时,经常使用 thinkphp 框架,这个项目时生成后会有有一个缓存目录 runtime,如图

01.jpg

如上图,初始状态时是没有 runtime 这个目录的,因为它是存放 log 日志文件、cache 缓存文件和temp 临时文件等这些无用的文件。而我们在做 git 版本控制时,根本不考虑此目录,因为这个目录是做项目时才创建的!

但是有一些人不太懂代码,认为项目有问题,需要好一阵解释才知道。

而这个文件正是起到项目版本控制,可以创建空目录的。

二、.gitkeep 总结

  • .gitkeep 文件是创建在一个空目录下的标识性文件,其作用是为了使 Git 保留该空目录(在有了 .gitkeep 文件后就不是空目录了)。

  • .gitkeep 文件的文件名是社区的一个约定,仅仅只是为了起到一个统一的目的,使开发者在看到该文件时就知道其作用。

  • .gitkeep 文件和官方没有任何关系,并不是官方定义的 Git 的系统文件。

  • .gitkeep 文件应该是一个目录下的唯一文件,当该目录下有了其他文件时,就应该删除 .gitkeep 文件。

  • .gitkeep 文件和 .gitignore 文件没有任何关系;前者是为了使 Git 保留一个空目录,后者是为了使 Git 忽略某些指定的文件。

  • .gitkeep 文件并不是强制规定,只是一个约定,完全可以用自己喜欢的方式,比如 .test 之类的,但 .gitkeep 文件无疑是被大多数开发者所承认的一个约定或者说是最佳实践,推荐使用。

三、.gitkeep 约定和 .gitignore 一起使用

如图所示,意思很简单,忽略 runtime 这个目录,但不忽略这个目录下的 .gitkeep 文件。

https://file.lulublog.cn/images/3/2025/01/nfKF6t0Gsy47K0I9sIkY94Si3Z18GZ.jpg

runtime 文件目录

https://file.lulublog.cn/images/3/2025/01/ixvOKxZ2RN2z2yPMX9Rnx9192SM7Vs.jpg

阅读 26