.gitignore异常包括额外的文件

时间:2016-05-13 14:58:37

标签: git version-control gitignore atlassian-sourcetree

我有.gitignore文件:

MyCompany.MyProject.OAuth/bin/
!MyCompany.MyProject.OAuth/bin/Debug/MyCompany.MyProject.OAuth.dll

由于某种原因,源树在提交列表中显示“MyCompany.MyProject.OAuth.dll”以及其他一些文件;

MyCompany.MyProject.OAuth/bin/Debug/AutoMapper.xml
MyCompany.MyProject.OAuth/bin/Debug/Castle.Core.xml
MyCompany.MyProject.OAuth/bin/Debug/Castle.Windsor.xml
MyCompany.MyProject.OAuth/bin/Debug/Newtonsoft.Json.xml
MyCompany.MyProject.OAuth/bin/Debug/MyCompany.MyProject.OAuth.dll
MyCompany.MyProject.OAuth/bin/Debug/MyCompany.MyProject.OAuth.dll.config

如果我删除第二行文件忽略文件,它会删除这种情况下的所有内容(如预期的那样)。我想要的只是包含“MyCompany.MyProject.OAuth.dll”

正在进行通配符匹配?和想法?

2 个答案:

答案 0 :(得分:4)

如果已排除该文件的父目录,则无法重新包含文件q.v.来自@VonC的this SO post

所以你应该做的是:

MyCompany.MyProject.OAuth/bin/**
!MyCompany.MyProject.OAuth/bin/**/
!MyCompany.MyProject.OAuth/bin/Debug/MyCompany.MyProject.OAuth.dll

第一行以递归方式忽略bin目录中的所有文件 第二行以递归方式排除bin目录中的所有文件夹 第三行排除了您希望能够提交的文件。

答案 1 :(得分:0)

哦,我讨厌这样做。 (在5分钟内回答自己的问题)但是我必须在忽略列表中包含子文件夹,如;

MyCompany.MyProject.OAuth/bin/Debug