2012-03-21 52 views
2

我創建了.hgignore文件,但在此之前,我已將項目結構發送到服務器。現在,hgignore不適用於之前發送的那些文件。我在某處閱讀我需要從跟蹤列表中刪除這些文件和目錄,或者以某種「私人」方式添加它,但我無法弄清楚我需要如何做到這一點。問題更加複雜,因爲我寫了sh腳本,它將這個結構的一部分複製到其他地方(項目由一些客戶端應用程序和www服務器組成,這些服務器文件在每次hg push命令後都被複制到其他位置)。所以我想忽略一些文件(但希望這些文件存在於服務器上,只需要一次性配置),我想用我的sh腳本複製這些被忽略的文件(這個腳本中最重要的事情是我正在使用的事實'hg archive'來處理我想要複製的內容)。我希望這可以理解爲人:).hgignore不起作用

回答

10

.hgignore只忽略尚未被添加到存儲庫中的文件。使用hg forget停止跟蹤已添加的文件。

您無法簽入文件並忽略之後的更改。對於配置文件,最佳做法是檢入模板文件,並忽略實際的本地配置文件。有人拉回購可以複製模板文件並進行本地更改。你的腳本可以自動化。

1

基本上,Mark Tolonen已經說過his answer中的所有重要內容。

我只是想補充他的回答,這部分的例子:

在配置文件中,最好的做法是在一個模板文件來檢查,而忽視了實際的本地配置文件。有人拉回購可以複製模板文件並進行本地更改。你的腳本可以自動化。

我回答了類似的問題,前一段時間有一個詳細的例子:
how to ignore files in kiln/mercurial using tortoise hg "that are part of the repository"

我的回答是爲Visual Studio,但(你顯然不使用,根據您提出的問題直到現在),但它可以幫助您獲得基本的想法,所以您應該能夠輕鬆地將其應用於任何其他環境。