2013-03-29 66 views
3

形勢水銀汞柱忽略不能正常工作

$ 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。這是什麼意思?

+0

你確定'src/project.xml'還沒有被'hg'跟蹤的文件中嗎? – Atropo

+0

@Atropo它是......但我認爲把它放入'.hgignore'會將它從那裏移除。 – user219882

+1

也許這個問題可以幫助你:[如何停止跟蹤文件,而不刪除它在mercurial](http://stackoverflow.com/questions/8482538/how-to-stop-tracking-a-file-without-deleting-該文件上,善變)。 – Atropo

回答

13

您寫道:

中號的src/project.xml中」

這意味着src/project.xml是版本控制之下。 已經在版本控制下的文件不能被忽略! .hgignore文件用於忽略未跟蹤的文件(狀態 將顯示「」)。

有兩種解決方法忽略文件​​:

  1. 您可以「hg forget」的文件,「hg add」的相反(即 告訴水銀不跟蹤這個文件了),或
  2. 您可以在.hg/hgrc配置文件,例如使用」 -X」選項,默認爲status/diff/commit

    [默認值]
    個 狀態= -X <file>
    DIFF = -X <file>
    提交= -X <file>

它會告訴汞不包括在使用狀態,DIFF這個文件,並提交。

+3

我認爲'hg忘記'絕對是更好的選擇。一個VCS不應該在版本控制下默默地忽略一個修改過的文件,這會在將來會導致麻煩,因爲你忘記了這一點,希望hg只是在不考慮文件的情況下跟蹤文件的變化。 – chris

+0

chris:同意。清楚時總是更好。 –