使用 gitignore 忽略子目录中的文件

Ignore files within a subdirectory using gitignore

我正在尝试为 git 创建一个 gitignore 文件,它忽略任何 dir/ 中的任何 .file。我想忽略 dir/ 实例中的所有 .file 实例。这些是特定的文件格式和目录。

例如.file就是new.file的文件格式。 dir/ 是存放 new.file 的目录。路径是dir/new.file.

我需要 git 忽略 dir/ 的可能实例中可能出现的 .file 实例,它可能会任意出现。

我测试了这些:

**/dir/*.file
*/dir/*.file
*/dir/**/*.file
dir/**/*.file

但是,每当我创建 foo/dir/new[*].file 时,我都能 git add 它以及 git commit 文件。

dir/ 目录中文件格式 .file 的所有新实例都添加到 git add .git add -A 的暂存中。我希望 git 忽略这些文件。

**/dir/**/*.file 似乎按照您指定的方式工作,至少在我的测试中是这样。您是否有可能在回购协议中已经有了相关文件并且必须先删除它们?

git rm --cached <filepath>