.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现在就可以维护这个目录。

链接地址: http://www.djcxy.com/p/7791.html

上一篇: What are the differences between .gitignore and .gitkeep?

下一篇: What is the Difference Between Mercurial and Git?