.gitignore和.gitkeep有什么区别?
.gitignore
和.gitkeep
什么.gitkeep
? 他们用不同的名字是同一个东西吗?或者他们都有不同的function? 我似乎无法在.gitkeep
上find很多文档。
.gitkeep
没有logging,因为它不是Git的一个特性。
Git 不能添加一个完全空的目录 。 想在Git中跟踪空目录的人已经创build了将.gitkeep
文件放在这些目录中的惯例。 该文件可以被称为任何东西; Git对这个名字没有特别的意义。
在空目录中添加.gitignore
文件是为了跟踪它们,但有些人认为这样做很混乱,因为目标是保留空目录,而不是忽略它们。 .gitignore
也用于列出Git在查找未跟踪文件时应忽略的文件。
.gitkeep
只是一个占位符。 一个虚拟文件,所以git不会忘记目录,因为git只跟踪文件。
如果你想要一个空的目录,并确保它保持“干净”的git,创build一个.gitignore
包含以下行内:
# .gitignore sample ################### # ignore all files in this dir... * # ... except for this one. !.gitignore
如果你希望只有一种types的文件可以被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现在就可以维护这个目录了。