我已经看过几个类似于这个的问题并且还阅读了gitignore manual,但仍然无法解决这个问题。
我想要排除名为lib
的所有文件夹(我的规则是"lib/"
),除了单个文件夹(将来可能更多),这是我可以&#39的第三方文件夹; t更改其名称,该名称位于<root>/3rdparty/projectX/lib/
。
我试过这个:
!lib/
lib/*
!projectX/lib/
但是这还包括其他文件夹,其中包含不在根目录下的lib文件夹
是否可以将此文件夹添加为例外?如何?
答案 0 :(得分:7)
您有几个选择。
完整路径:
lib/
!3rdparty/projectX/lib/
通配符匹配:
lib/
!*/projectX/lib/
与任何级别的子目录匹配的通配符:
lib/
!**/projectX/lib/
您的gitignore无法正常工作,因为它仅在根目录中明确忽略了projectX
目录。