如何告诉Git仅在存储库的顶层忽略特定文件名?

91

可能是重复问题:
如何在Git中仅从根文件夹排除文件

对于一个特定的JavaScript项目,我正在使用 TinyWeb HTTP Server 进行本地测试(以解决适用于文件URL的特定安全限制)。该程序要求我在根目录中拥有一个 index.html 文件,但我不想将该文件提交到我的Git存储库。

我如何阻止Git在每次提交时提醒我这个“未跟踪的文件”? 我确实希望提交所有位于子目录中的 index.html 文件。

1个回答

160
将以下内容添加到您的.gitignore文件中(位于根目录下):
/index.html

在git中,前导的/会使其使用绝对路径(相对于当前的.gitignore位置),而其他所有行则被视为某种通配符。


2
但是我该如何在全局gitignore文件(core.excludesfile)中实现这一点? - Greg Ennis
2
@GregEnnis 这里的工作方式完全相同。全局忽略文件以及仓库中的.git/info/exclude文件都与工作目录根目录下的.gitignore文件以相同的方式进行解释。 - poke
我有一个路径为 /path/to/a/folder/.env 的文件夹,如果我将其添加到全局的 ~/.gitignore 中,它不会被忽略。 - Elijah Lynn
1
啊,我觉得这样行不通,我试图在我的顶级~/.gitignore中忽略一个仓库中的文件,而不是在repo/.gitignore中。 - Elijah Lynn
@ElijahLynn 你的意思是.gitignore文件在仓库之外吗?只有当该文件在Git中被明确配置为excludefile时,才能起作用。但是这也将采用相对于存储库的路径。如果您无法使其工作,请打开一个新的单独问题。 - poke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接