【问题标题】:Why does .gitignore use an empty basename?为什么 .gitignore 使用空的基本名称?
【发布时间】:2018-04-20 01:09:49
【问题描述】:

每当我在 Git 存储库中看到 .gitignore 文件时,我都会不禁注意到,除了文件扩展名之外,文件名完全为空。正因为如此,我经常看到新程序员在第一次学习 Git 时在 Windows 上遇到“You must enter a filename”错误。

README.md 等其他标准文件包含基本名称,因此排除 .gitignore 的名称似乎很奇怪。

.gitignore 的基本名称始终为空是否有原因?如果给它一个像project-name.gitignore 这样的文件名,该文件是否仍然可以正常工作?

【问题讨论】:

  • 前面带有. 的文件名是unix 上“隐藏”文件的约定。 .gitignore 可以像没有扩展名的隐藏文件一样查看。不过,Windows 不太赞成。
  • 我认为只是为了对普通用户隐藏文件,以免用户误更改它。
  • 更多示例请参阅 Ask Ubuntu 上的 What are dot-files?
  • 我将.gitignore 视为没有扩展名的文件名。如果它有扩展名,它将是,例如,.gitignore.txt。但是名为a.b.c.d.e 的文件的扩展名是什么?是d.e,还是b.c.d.e?显然不是.e:那太傻了! :-)

标签: git naming-conventions filenames gitignore


【解决方案1】:

正如 cmets 中其他人所说,文件名前的点表示 unix/linux 系统中的隐藏文件。

如果给文件命名为 project-name.gitignore 之类的文件名,它还能正常工作吗?

不,它不会。 Git 只查找名为 .gitignore 的文件(加上您在配置中定义的全局忽略文件)。

README.md 等其他标准文件包含基本名称,因此排除 .gitignore 的名称似乎很奇怪。

README.md 不是 Git 中的标准文件,它是许多托管服务提供商使用的东西。 .gitignore.gitattributes 等标准 git 文件具有一致的命名约定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多