Gitignore 星号“*”和斜线

问题描述 投票:0回答:1

根据 gitignore 文档,星号

*
匹配除斜杠之外的任何内容。我不清楚这在实践中是如何运作的。

例如考虑以下结构:

foo/
foo/test_dir1/test_file1
foo/test_dir1/test_dir2/test_file2
foo/test_dir1/test_dir2/test_dir3/test_file3

使用 gitignore 指令忽略所有三个文件:

/foo/test_dir1/*

很明显,

test_dir1/test_dir2/test_dir3
中的两条斜杠被忽略了。

如果您认为

/foo/test_dir1/*
/foo/test_dir1/test_dir2
匹配,这是有道理的,因此该目录中的任何内容都将被忽略。然而,我很难理解在什么情况下斜线确实会被忽略,以及它的实用性是什么。

我希望上面的例子中的

test_file2
test_file3
不会被忽略。

git gitignore
1个回答
0
投票

它根据您提供的字符串应用模式匹配。因此,如果您查找

foo/*/bar
,您将在结构中找到以 foo 开头、以 bar 结尾的任何文件夹。斜杠只是它查找的模式的一部分,当它本身作为符号出现时会被忽略。文档提到了这一点。

© www.soinside.com 2019 - 2024. All rights reserved.