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ファイルは、追跡されていないファイルを無視するためのものです (ステータスには「?」が表示されます)。

ファイルを無視するには、次の 2 つの解決策があります。

  1. " hg forget" の反対のファイルhg add(つまり、Mercurial にこのファイルをもう追跡しないように指示する)、または
  2. 構成ファイルで「<code>-X」オプションをデフォルトとして使用できstatus/diff/commit ます。.hg/hgrc

    [デフォルト]
    status = -X <file>
    diff = -X <file>
    commit = -X<file>

これにより、ステータス、差分、およびコミットの使用にこのファイルを含めないように hg に指示されます。

于 2013-03-29T09:52:41.210 に答える