为了账号安全,请及时绑定邮箱和手机立即绑定

.gitignore和.gitkeep有什么区别?

.gitignore和.gitkeep有什么区别?

Git
梵蒂冈之花 2019-11-04 14:28:07
.gitignore和之间有什么区别.gitkeep?他们是同一个名字不同的事物,还是两者都发挥不同的作用?我似乎在上找不到太多文档.gitkeep。
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

.gitkeep 没有记录,因为它不是Git的功能。


Git 无法添加一个完全空的目录。想要在Git中跟踪空目录的人已经创建了将被调用文件.gitkeep放在这些目录中的约定。该文件可以被称为任何东西。Git对该名称没有特别的意义。


.gitignore在空目录中添加文件以对其进行跟踪是一种相互竞争的约定,但是有些人认为这令人困惑,因为目标是保留空目录,而不是忽略它们。.gitignore还用于列出查找未跟踪文件时Git应该忽略的文件。


查看完整回答
反对 回复 2019-11-04
?
莫回无

TA贡献1865条经验 获得超7个赞

.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

(“#”表示注释。)


查看完整回答
反对 回复 2019-11-04
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

.gitignore

是一个文本文件,包含您目录中的文件列表,git会忽略该文件,也不会在存储库中添加/更新。


.gitkeep

由于Git会删除或不向存储库中添加空目录,因此.gitkeep有点像一种hack(我不认为它是Git的正式名称),可以将空目录保留在存储库中。


只需执行一次touch /path/to/emptydirectory/.gitkeep添加文件,Git现在就可以在存储库中维护此目录。


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 1381 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信