.gitignore和.gitkeep有什么区别?
.gitignore
和.gitkeep
什么.gitkeep
? 它们是不同的名称,还是它们都有不同的功能? 我似乎无法在.gitkeep
上找到很多文档。
.gitkeep
没有记录,因为它不是Git的一个功能。
Git不能添加一个完全空的目录。 想要跟踪Git中空目录的人已经创建了将.gitkeep
文件.gitkeep
这些目录中的惯例。 该文件可以被称为任何东西; Git对这个名字没有特别的意义。
在空目录中添加.gitignore
文件以达到跟踪目的是一种相互竞争的惯例,但有些人认为这是令人困惑的,因为目标是保留空目录,而不是忽略它们; .gitignore
还用于列出Git在查找未跟踪文件时应忽略的文件。
.gitkeep
只是一个占位符。 一个虚拟文件,所以git不会忘记目录,因为git只跟踪文件。
如果你想要一个空的目录,并确保它保持'干净'的git,创建一个.gitignore
包含以下行内:
# .gitignore sample
###################
# ignore all files in this dir...
*
# ... except for this one.
!.gitignore
如果你希望只有一种类型的文件对git可见,下面是一个例子,如何过滤所有内容,除了.gitignore和所有.txt
文件:
# .gitignore to keep just .txt files
###################################
# filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#'表示注释。)
.gitignore
是一个文本文件,其中包含git将忽略或不在存储库中添加/更新的目录中的文件列表。
.gitkeep
由于git删除或不将空目录添加到回购.gitkeep是一种破解(我不认为它正式命名为git的一部分),以保持回收库中的空目录。
只需要touch /path/to/emptydirectory/.gitkeep
来添加文件,git现在就可以维护这个目录。
上一篇: What are the differences between .gitignore and .gitkeep?