什么是可以提交到存储库的所有可用Git特殊文件?

she*_*run 12 git

我能想到的两个例子是.gitattributes.gitignore.

有人可以列出所有这些吗?

asm*_*rer 17

我抓住了git本身的git存储库,虽然我不认为官方列表存在于任何地方,但我确实注意到我所知道的所有内容都在git-config手册页(git help config)中提到过.因此,我在该页面上搜索了"文件",这是我发现的:

  • .gitignore - git要忽略的blob列表.影响像git add和的命令git clean.
  • .gitattributes - 让我们定义文件的属性(例如,改变文件在diff中的外观).
  • .mailmap - 让你告诉git历史中重复的名字或电子邮件实际上是同一个人.影响像git shortlog -ns或等的命令git log --format="%aN <%aE>".
  • .gitmodules - 让我们定义子模块(你的git存储库的子目录,它们是其他git存储库的检出).
  • *.keep- 与制作git gc忽略包有关.我找不到太多关于此的信息,所以我甚至不确定它是否是您提交到存储库的文件或者只是存在的东西.git.如果有人知道更多请评论.

这就是我发现的全部.我希望我没有错过任何东西.

  • Git 不会以任何特殊方式处理 `.gitkeep`/`.keep` 文件,它们只是许多项目使用的约定 - 具有这样名称的文件可以添加到否则为空的目录中,并且这样,一旦克隆存储库,这些目录就会存在,而无需由其他脚本或用户手动创建。这很有用,因为 Git 不会跟踪存储库中的空目录,因此需要创建一个占位符文件来执行此操作。 (2认同)