我有一个纯粹是T4模板文件夹的文件夹,但它将代码生成的文件输出到其他目录中。所以我想忽略除* .tt文件之外的所有内容(即* .cs,*。master,* .resx等)。有一个问题。我有一个名为static的子文件夹,其中包含永远不应忽略的文件。
/Test.tt
/Test.cs
/TestHtml.tt
/TestHtml.html
/Static
/Sub/Sub.cs
/Sub/Sub2/Sub2.cs
/Sub3/Sub4/Sub5/Sub5.html
我仅想要忽略/Test.cs和/Test.html,但包括所有其他文件。我尝试了以下内容:
/。gitignore
# Ignore all
*
# But not these files...
!.gitignore
!*.tt
/Static/.gitignore
!*.*
#also have just tried blank
我无法让git忽略正确的事情......主要问题是我想要静态/ 的'递归排除'。。
答案 0 :(得分:12)
您需要锚定*
,否则即使在未被忽略的目录中也会继续匹配所有文件。
e.g。
/*
!.gitignore
!*.tt
!/Static/
答案 1 :(得分:0)
类似的东西:
/*
!.gitignore
!*.tt
!/Static/
应该有用。
当你忽略其他所有内容时,如果你想要unignore
某个其他文件夹中的子目录,请查看下面的答案,使其更复杂。