4

情况

$ cat .hgignore
.hgignore

$ hg status
M file1
M file2
M src/project.xml

我不想追踪project.xml所以我跑

echo "project.xml" >> .hgignore

结果是

$ cat .hgignore
.hgignore
project.xml

$ hg status
M .hgignore
M file1
M file2
M src/project.xml

所以.hgignore即使它不应该被跟踪并且project.xml. 这是什么意思?

4

1 回答 1

15

你写了:

M src/project.xml”

这意味着它src/project.xml处于版本控制之下。已经在版本控制下的文件不能被忽略!该 .hgignore文件用于忽略未跟踪的文件(状态将显示“ ”)。

您有两种解决方案可以忽略您的文件:

  1. 您可以“ hg forget”文件,与“ hg add”相反(即告诉 Mercurial 不再跟踪此文件),或者
  2. status/diff/commit 您可以在配置文件中使用“<code>-X”选项作为默认选项.hg/hgrc,例如,

    [默认值]
    状态 = -X<file>
    差异 = -X<file>
    提交 = -X<file>

这将告诉 hg 不要将此文件包含在状态、差异和提交的使用中。

于 2013-03-29T09:52:41.210 回答