的語法條件是從系統的不同系統:
此外,shell模式和正則表達式如何匹配的確切規則因工具而異。總而言之,這意味着如果你的全局忽略文件非常簡單,你只能希望使用這個技巧。正如你所說,否則這些差異會來咬你。
我有這個文件測試它:
syntax: glob
.bzr
.git
.hg
*.o
*~
,似乎按預期在所有三種工具來工作。爲了測試它,我創造了這個目錄樹:
$ tree
.
|-- foo.c
|-- foo.c.~1~
|-- foo.h
|-- foo.o
`-- src
|-- bar.c
|-- bar.c.~1~
`-- bar.o
,跑到每個工具的狀態命令:
$ for tool in hg git bzr; do echo "== $tool status =="; $tool status; done
== hg status ==
? foo.c
? foo.h
? src/bar.c
== git status ==
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# foo.c
# foo.h
# src/
nothing added to commit but untracked files present (use "git add" to track)
== bzr status ==
unknown:
foo.c
foo.h
src/
正如你可以看到,這個簡單的文件工作正常。
技術上,Git和集市現在會忽略一個名爲syntax: glob
文件,但除非你打算創建與怪異名稱的文件,這並不重要。最後,請注意默認情況下Mercurial不會讀取$HOME/.hgignore
文件。但是,您可以通過將
[ui]
ignore.my-default = ~/.hgignore
添加到您的$HOME/.hgrc
文件中。
在水銀你也可以改變一個行,用'水珠前綴它glob的:'。 – 2012-03-14 09:08:58
@LaurensHolst:正確的,但在這裏我想水銀治療以下模式作爲glob模式,因爲這對Git和集市的缺省值。 – 2012-03-14 10:46:45
只是說要完成:)。 – 2012-03-14 12:00:24