在一个目录及其子目录中,如何使用gitignore忽略特定类型的所有文件?

12

如何在特定目录及其子目录中忽略特定文件类型?

例如:忽略master/xyz/目录及其所有子目录中的所有.xml文件。

我不确定以下两种方法中哪种是正确的...

master/xyz/*/*.xml

master/xyz/**/*.xml

我应该使用哪一个?

(我使用Git 1.9.1)


2
这个问题与链接的问题不同,因为这里还要求忽略“子目录”中的内容。 - Antonio
1个回答

23

你可以添加类似以下的内容,在git 1.8.2.1版本中可以正常使用(文档在此

斜杠后跟两个连续的星号然后是一个斜杠,匹配零个或多个目录。例如,"a/**/b" 匹配 "a/b"、"a/x/b"、"a/x/y/b"等。

# should work
master/xyz/**/*.xml

你发表的第一个建议行不通,因为它不会匹配任何内容(因为它是字面意义上的)

# wont work
master/xyz//.xml

这种方法怎么样? gs/html-data/partner/*.html - michbeck
1
当然,这将忽略gs/html-data/partner中的所有HTML文件。这是你想要的吗? - acanby
包括所有子目录,对吧? - michbeck
1
不,必须要使用 //。你需要使用 gs/html-data/partner//*.html 来实现这个目的。 - acanby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接