我的.hgignore文件内容如下,NOTHING被忽略:
^nbproject$
^.htaccess$
^my.conf$
/media/images/captcha/.*\.jpg$
我尝试将文件放在主项目存储库文件夹和工作目录中。
怎么了?请帮忙。
答案 0 :(得分:11)
您不需要syntax:regexp
- 这是默认设置。
您需要将文件放在.hg
文件夹上方的目录中,因此布局如下所示:
--yourepo
|
+--- .hgignore
+--- .htaccess
+--- .hg
您还需要转义文件路径中的所有点。试试这个:
^nbproject$
^\.htaccess$
^my.conf$
/media/images/captcha/.*\.jpg$
您确实需要确保尚未添加和/或提交文件。 .hgignore
文件不会覆盖add,它只会阻止您使用通配符添加内容以及查看.hgstatus中忽略(未添加)的内容。如果您已经添加了这些文件,则需要hg forget
这些文件才会被忽略。
如果没有任何效果,请尝试:
hg status --all
并发布输出。
答案 1 :(得分:4)
将此行添加到文件顶部:
syntax: regexp
至于.hgignore文件应该去哪里,按https://www.mercurial-scm.org/wiki/.hgignore
.hgignore文件正在工作中 目录,在.hg文件夹旁边。
答案 2 :(得分:1)
你应该使用更简单的glob语法来实现这样的基本忽略(syntax: glob
指令是显式的)。此外,你应该在技术上逃避'。'因为它们是特殊的正则表达式字符,但你很幸运,因为'。'恰好匹配任何字符,包括文字'。'。这样的混乱只是强调了我使用简单的glob机制的观点。
答案 3 :(得分:1)
另请注意,如果hg
文件以UTF-8 BOM开头,则.hgignore
无法处理{{1}}文件。由于这是Windows记事本的默认行为,因此您可能需要注意这一点。