2

我的 .hgignore 文件的内容如下,NOTHING 被忽略:

^nbproject$
^.htaccess$
^my.conf$
/media/images/captcha/.*\.jpg$

我试图将文件放在主项目存储库文件夹和工作目录中。

怎么了?请帮忙。

4

4 回答 4

11

您不需要syntax:regexp- 这是默认设置。

您确实需要将文件放在文件夹上方的.hg目录中,因此布局如下所示:

--yourepo
|
+--- .hgignore
+--- .htaccess
+--- .hg

您还需要转义文件路径中的所有点。尝试这个:

^nbproject$
^\.htaccess$
^my.conf$
/media/images/captcha/.*\.jpg$

您确实需要确保尚未添加和/或提交文件。该.hgignore文件不会覆盖添加,它只会阻止您使用通配符添加内容并在 .hgstatus 中看到被忽略(未添加)的内容。如果您已经添加了这些文件,您需要hg forget在它们被忽略之前添加它们。

如果没有任何效果,试试这个:

hg status --all

并发布输出。

于 2010-12-07T19:07:07.823 回答
4

将此行添加到文件顶部:

syntax: regexp

至于 .hgignore 文件应该去哪里,根据https://www.mercurial-scm.org/wiki/.hgignore

.hgignore 文件位于 .hg 文件夹旁边的工作目录中。

于 2010-12-07T16:36:06.847 回答
1

另请注意,如果文件以 UTF-8 BOM 开头,hg则无法处理该文件。.hgignore由于这是 Windows 记事本的默认行为,您可能需要注意这一点。

于 2011-11-24T09:27:11.373 回答
1

对于此类基本忽略,您可能应该使用更简单的 glob 语法(syntax: glob指令要明确)。此外,从技术上讲,您应该转义 '.',因为它们是特殊的正则表达式字符,但自从 '.' 以来你很幸运。恰好匹配任何字符,包括文字“.”。然而,像这样的混乱只是强调了我关于使用更简单的 glob 机制的观点。

于 2010-12-07T19:08:59.970 回答