2014-12-01 79 views
1

除去在我們公司Untrack文件,我們剛開始使用水銀,我們正面臨着以下問題:沒有從遠程倉庫

我們在遠程存儲庫中的某些文件是由每個開發人員改變添加一些本地配置但這些文件絕不能在遠程存儲庫中更改。

有沒有辦法告訴水銀停止跟蹤這些文件在本地,而又不使遠程儲存的任何更改文件?

我們試圖用hg forget <file>但據我所知,這將從遠程存儲庫中刪除該文件。

我們也嘗試將這些文件添加到.hgignore文件,但不知何故文件沒有被真正忽略,我猜Mercurial是這麼做的,因爲這些文件已被跟蹤。

到目前爲止,我們只是在執行提交時忽略這些文件,並且我們使用shelve在更新後維護和恢復本地更改,但這開始是一項非常乏味的任務。

在此先感謝您的幫助。

編輯:雖然它沒有完全解決我們想要的,但接受的答案是最好的方法。我們的問題可能是由於糟糕的設計。

回答

3

如果你想改變的文件,例如,config.cfg,檢查在config_template.cfg,忘記config.cfg如果已經跟蹤,並添加config.cfg忽略列表。然後,生成規則可以從模板創建如果config.cfg它不存在

,用戶屆時將有一個啓動的config.cfg,他們可以在沒有檢查它定製。

+0

謝謝!這聽起來像是一個非常好的解決方案。我會檢查這是否可能,因爲有些文件用於部署,我必須確定我們不會破壞某些東西。 – 2014-12-02 18:26:40

1

你可以使用配置[defaults]部分添加一些「--exclude」選項通常命令(見我的回答Mercurial hg ignore does not work properly ) 更多細節。

但是..要小心,靜靜地忽略對文件的修改並且此[defaults]部分已被標記爲已棄用(它仍存在於2.9.2中)是危險的。

+0

感謝!我們正在排除將文件從現在的任何承諾,但是我們仍然有,同時將問題和更新,我們要擱置我們的變化和更新完成後恢復它們。 – 2014-12-02 18:23:33

1

恕我直言,這是一個錯誤的做法有在每個人的需求反正改變了庫中的文件 - 這是你不想擁有它跟蹤所有的指示。

更改文件config.sample,和你的程序中創建一個默認的配置在第一次啓動(因此當沒有現有的配置文件),並有充分的開發利用配置文件作爲他/她需要。

而我現在只看到Mark Tolnen的回答:)