2011-02-23 121 views
1

我使用我的項目在Django mercurial,我需要忽略manage.py。我有我的.hgignore這樣忽略與Mercurial manage.py(hg .hgignore)

syntax: glob 
*.pyc 
*.html~ 
*.js~ 
manage.py 
settings_local.py 
media/ 

當我修改settings_local.py它工作正常,但是當我改變manage.py的.hgignore事先並不工作

謝謝!

回答

3

是根文件夾中的manage.py,如果是,則在創建忽略文件(因此已被跟蹤)之前將其添加到回購站。如果第二個是這種情況,那就告訴Hg忘記文件

hg forget manage.py是我相信的語法。

+0

是的,manage.py位於根文件夾settings_local.py中,但不起作用。 manage.py有執行權限,我不知道它影響 – eos87 2011-02-23 22:23:44

+0

@ eos87,嘗試做忘記,看看會發生什麼。 – msarchet 2011-02-23 22:25:57

+0

它的工作原理,謝謝,但我有疑問 – eos87 2011-02-23 22:35:04

1

只是確保你沒有添加.hgignore文件。

如果你只是忘了.hgignore,然後再次提交。

這應該忽略你的manage.py與下一次提交!

+2

不,你的.hgignore文件通常應該添加到版本控制 – 2011-02-23 22:21:00

4

.hgignore文件只會通過掃描目錄並查找新文件和刪除的文件來告知相關命令,以避免在找到要添加到存儲庫的文件時拾取新文件。

兩個我還記得,可能有更多的,分別是:

hg addremove 
hg commit --addremove 

就是這樣。如果您在告知Mercurial忽略它之前將文件添加到存儲庫,或者特別是將文件添加到存儲庫(即使它被忽略),則Mercurial將開始跟蹤文件。

一旦它開始跟蹤它,它將繼續跟蹤它。

換句話說,無論您指定的文件中.hgignore,下面的命令會要求水銀開始跟蹤該文件:

hg add manage.py 

無論你之前或之後,你這樣做編輯的.hgignore文件是無關緊要的。

你的問題聽起來像Mercurial已經跟蹤這個文件。要讓Mercurial停止跟蹤文件,請發出忘記命令:

hg forget manage.py 

然後執行提交。之後,對該文件的更改將不會被Mercurial拾取。