在我们创建一个新的工程项目、或者对已有项目的目录进行整理的时候,难免会需要新建一些空的目录;然而当我们创建完成空的目录之后,却发现没有在仓库的追踪中看到文件夹,那么这是为什么呢?
Git的文件追踪策略
- 在默认的
Git
的文件追踪策略中,仅追踪文件的,而不会追踪文件夹; Git
追踪的文件名称不区分大小写,因此在有时候修改了文件的名称大小写之后,发现文件没有被追踪;Git
追踪的文件可以使用git rm files
进行移除
如何使用.gitkeep
因此我们需要在文件夹中添加一些内容,比如a.txt
、b.txt
等等。
然而,常见的标准做法是在空文件夹中放一个 .gitkeep
文件。
这并不是Git
提供的特性!所以你可以随意给这个文件命名。.gitkeep
这个名字并没有什么特殊含义——有些开发者也会用 .gitignore
。(译注:然而 .gitignore
文件是有特殊含义的,最好别用这个名字。在实践中推荐使用 .gitkeep
,如果随意命名可能会造成困惑。)
不过 .gitignore
会令人迷惑,因为你的目的是让 Git 不要忽略你的文件,并且把它推送到分支。
不管使用哪种方式,通过添加这个简单的文件,你的文件夹到时就能够被正确推送。
使用
.gitkeep
在代码库中是很常见的,如果需要让 Git 追踪一个空文件夹,那其中一般会有这个文件。
这个虚拟文件的名字不一定总是 .gitkeep
,不过作为开发者,你会一次又一次地看到这种实践。