我有一个 NetBeans 项目,Mercurial 存储库位于项目根目录中。我希望它忽略除“src”和“test”文件夹的内容以及 .hgignore 本身之外的所有内容。
我不熟悉正则表达式,也想不出一个能做到这一点的表达式。
我试过的那些:
(?!src/.*)
(?!测试/。*)
(?!^.hgignore)
(?!src/. |test/. |.hgignore)
这些似乎忽略了一切,我不知道为什么。
任何建议都会很棒。
这似乎有效:
语法:正则表达式 ^(?!src|测试|\.hgignore)
这基本上是您的最后一次尝试,但是:
^
, 和第二点很重要,因为正如手册所说:
例如,假设我们在存储库中的 a/b/file.c 中有一个未跟踪的文件 file.c。如果 .hgignore 中的任何模式匹配 a/b/file.c、a/b 或 a,Mercurial 将忽略 file.c。
所以你的模式不能匹配src
。
^(?!src\b|test\b|\.hgignore$).*$
应该管用。它匹配任何不以单词src
or开头test
或完全由 组成的字符串.hgignore
。
它使用单词边界锚\b
来确保文件喜欢testtube.txt
或srcontrol.txt
不会意外匹配。但是,它会在文件上“失火”,例如src.txt
在斜线之前存在单词边界的位置。