是否有可能有一个本地 Mercurial 忽略文件?显然 .hgignore 是一个与任何其他文件一样版本化的文件。我可以在版本化的文件旁边放一个这样的文件吗?
问问题
4865 次
3 回答
23
是的,您可以配置一个本地的、每个用户的忽略文件。该文件的位置和名称在用户特定的.hgrc
配置文件(通常位于用户的主目录)下定义[ui]
,例如:
[ui]
ignore = ~/.myhgignore
此文件应与存储库范围.hgignore
文件的格式相同。
于 2012-10-08T14:30:57.783 回答
12
这里有几种情况,因此根据情况,您将有不同的可能解决方案:
- 如果文件或目录尚未添加,并且没有
.hgignore
文件,您可以:- 用于
.hgignore
过滤它,并且 .hgignore
如果这对其他人也有用(例如,*.o 等),您可以提交,或者您可以将其保留.hgignore
为本地而不提交/推送它,在这种情况下,您甚至可以按照 msw 的说明指定.hgignore
in.hgignore
以便您的本地版本也将被忽略。
- 用于
- 如果尚未添加文件或目录,并且
.hgignore
由于某种原因您不想使用某个文件(提交和推送),您可以:- 声明一个未跟踪的忽略文件,您将像使用它一样使用
.hgignore
它,但它将保持在本地。您可以在您的仓库.hg/hgrc
或全局中声明此未跟踪的忽略文件$HOME/.hgrc
(请参阅UI 部分文档)。
- 声明一个未跟踪的忽略文件,您将像使用它一样使用
- 最后,如果文件/目录已添加到跟踪文件列表中,则不能使用 : 过滤它
.hgignore
:任何已提交的文件都不能被忽略!您可以:- “
hg forget
”文件(与“hg add
”相反),然后按照前两种情况执行,或者使用“-X
”选项作为.hg/hgrc
配置文件中 status/diff/commit 的默认值,例如,
[defaults]
status = -X file1 -X file2
diff = -X file -X file2
commit = -X file -X file3
这将告诉 hg 不要在使用 status、diff 和 commit 时包含这些文件。
- “
希望它会有所帮助。
于 2012-10-09T09:11:32.500 回答
1
您也可以.hgignore
在本地存储库中忽略:
$ hg clone some_repository
$ cd some_repository
$ cat > .hgignore
syntax: glob
.hgignore
$ touch foo.c bar.c
$ hg status
? foo.c
? bar.c
.hgignore
请注意,在 的输出中明显没有局部hg status
。
于 2012-10-08T19:39:23.687 回答