我一直在寻找我的.hgignore
文件的正则表达式,并在SO上找到了几个非常有用的答案(比如this)并提出了一个regexp我认为应该可以排除所有文件和目录,但在负向前瞻中列出的目录除外。
^(?!(certs/|config/|\.hgignore)).+
它似乎适用于RegExr,并遵循其他SO答案中的模式,但如果我hg status
显示的唯一文件是.hgignore
本身; Mercurial可以看到certs
或config
中的任何内容。 (如果删除.hgignore
,肯定会出现文件。)
我在这里遇到了什么问题?
答案 0 :(得分:2)
白名单并不容易,因为它们很少需要。添加文件后,它会被跟踪,而.hgignore文件根本不会影响它。这不适用于目录(目录不在Mercurial或git中跟踪),但它确实处理像.hgignore这样的文件。因此,只需将其完全添加一次,即使您尝试使用白名单,也可以将其省略。
如果您真的想要忽略大部分内容,请使用此.hgignore文件:
.*
然后在创建新文件时添加cert和配置文件(只是在一个肢体上,但不会倾向于添加新的证书并经常配置文件版本)。一旦添加它们,它们将被跟踪,并且它们的更改将在hg status
中显示为已经修改过。
答案 1 :(得分:0)
只是一个猜测。您使用的是@“文字字符串”还是“常规字符串”您可能需要将其设置为\\