.hgignore似乎没有工作

Pet*_*ete 3 mercurial command-line tortoisehg hgignore

.hgignore我的项目的根目录中有一个文件,它没有蹲下.当我这样做时hg add,我的项目目录中的每个文件都被添加和跟踪.无论我使用tortoisehg还是命令行,我都得到相同的结果.命令行是我的偏好.这里发生了什么?

.hgignore(取自关于SO的另一个问题):

# use glob syntax
syntax: glob

*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_ReSharper*/
[Tt]humbs.db
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
*.resharper
Run Code Online (Sandbox Code Playgroud)

Pet*_*ete 5

显然,这是文件编码的一些问题.我在Notepad ++中编辑了文件(尝试过ANSI和UTF-8编码),编辑时文件看起来很好.我已经放弃并决定使用该命令重新开始notepad .hgignore.然后我粘贴了给我带来麻烦的文件中的内容,一切都在一条线上没有中断.我修复了休息,保存了文件,它立即起作用.

我仍然不确定为什么文件在Notepad ++中看起来很好,但实际上是垃圾.

  • 它可能已经在文件的前面放置了一个BOM(字节顺序标记),这对于UTF-16有时是可以的,但是对于UTF-8永远都没关系,尽管Windows上的编辑器有时候也喜欢这样做. (2认同)