gitignore 只允许指定子文件夹中的某些文件

gitignore allow certain file only in named subfolder

我目前正在清理 git 存储库、移动依赖项等。 我决定拥有一个全局文件夹,其中包含我们使用的所有第三方库。除了这些 *.dll 文件,我想忽略项目中的任何其他 dll 文件。

所以我的gitignore在项目的根目录中包含这些行:

*.dll
!external\ libraries/*.dll

这显然行不通。 我还尝试将 .gitignore 文件放入 external libraries 目录,其中包含行 !*.dll,但也没有用。

我做错了什么?

e/

ls 在 external libraries

中的输出
/external libraries (branchname)
$ ls
file1.dll*
file2.dll*

在根目录中 ls returns 预期的所有文件夹。

我通过 git check-ignore -v filename 检查文件是如何被阻止的,显然在某个时候在我的计算机上创建了一个全局 gitignore 文件。删除它解决了我的问题。