.gitignore不忽略未跟踪的*.pb.go文件

.gitignore不忽略未跟踪的*.pb.go文件,git,Git,我不明白为什么,在将我的顶级.gitignore更新为忽略生成的扩展名为pb.go的文件后,我仍然看到具有该扩展名的未跟踪文件 # > cat .gitignore *.pb.go # > git status Changes not staged for commit: modified: .gitignore Untracked files: some/path/filename.pb.go 基于对stackoverflow类似问题的回答

我不明白为什么,在将我的顶级
.gitignore
更新为忽略生成的扩展名为
pb.go
的文件后,我仍然看到具有该扩展名的未跟踪文件

# > cat .gitignore
*.pb.go

# > git status
Changes not staged for commit:
        modified:   .gitignore

Untracked files:
        some/path/filename.pb.go
基于对stackoverflow类似问题的回答,我觉得有必要强调一个事实,即这个pb.go文件未被跟踪,它不在git缓存中,如图所示

# > git rm -f --cached some/path/filename.pb.go
fatal: pathspec 'some/path/filename.pb.go' did not match any files

尽管生成的文件完全可能在历史上的某个时刻存储在git中。

在存储库的更深处有
.gitignore

* 
!*.go

这导致
*.pb.go
没有被排除在外。

嗯。。。奇怪的是否还有另一个.gitignore有关于此文件扩展名的规则?或者在其他配置部分中检查,您可以在其中请求排除内容吗?
***.pb.go
有效吗?这有点奇怪。确保
.gitignore
是纯文本ASCII文件,前面没有UTF-8 BOM,等等。您是否尝试提交.gitignore,然后重新运行
git status
git check ignore-v some/path/filename.pb.go