Gitignore 错误地排除了子文件

标签 git gitignore

我有这样的目录结构:

project
├── .gitignore
└── parent
    └── file.ts

Gitignore 文件内容:

parent/*
!file.ts

Git 确实会忽略父级下的所有内容,但 file.ts这很奇怪,因为我没有排除 file.ts在我的 .gitignore 的父目录中文件。

可能是什么原因?

最佳答案

在 gitignore 中,不带 / 的条目表示任何目录中的所有文件。

file.ts 匹配任何目录中名为 file.ts 的所有文件。

如果您只想排除顶级目录(.gitignore 所在的位置)上的 file.ts,则使用 ./file.ts.

关于Gitignore 错误地排除了子文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76136326/

相关文章:

创建和/或推送新分支时的 Git 钩子(Hook)

eclipse - 如何将移动的 git 存储库与其在 Egit 中的原始项目重新连接?

Git 忽略每个分支的文件

linux - ssh 连接超时

windows - .gitignore 任何级别的 NuGet 包文件夹,但包括任何级别的 .targets 文件

Github:只读访问私有(private)仓库

.gitignore 中列出的文件的 git status 显示 "Changes not staged for commit"?

git - .gitignore 被 Git 忽略

android - Flutter:app/build 文件夹和文件是否应该包含在 git 忽略中?

git - 我可以使用 .gitignore_global 忽略多个存储库中所有用户的文件吗?