문제

Situation

$ cat .hgignore
.hgignore

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

I don't want to track the project.xml so I run

echo "project.xml" >> .hgignore

and the result is

$ cat .hgignore
.hgignore
project.xml

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

So the .hgignore is now as modified even though it shouldn't be tracked and nothing happend with the project.xml. What does this mean?

도움이 되었습니까?

해결책

You wrote:

"M src/project.xml"

which means that src/project.xml is under version control. A file already under version control cannot be ignored! The .hgignore file is for ignoring files that are untracked (status will show a "?").

You have two solutions to ignore your file:

  1. You can either "hg forget" the file, the opposite of "hg add" (i.e., telling Mercurial not to track this file anymore), or
  2. You can use the ”-X” option as a default for status/diff/commit in your .hg/hgrc configuration file, e.g.,

    [defaults]
    status = -X <file>
    diff = -X <file>
    commit = -X <file>

which will tell hg not to include this file in the use of status, diff, and commit.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top