![](/img/trans.png)
[英]How to manually mark files as moved/renamed using Tortoise Hg (mercurial)
[英]how to ignore files in kiln/mercurial using tortoise hg “that are part of the repository”
我們用窯龜用hg。 在我的vs 2010 c#項目中,有一些文件是存儲庫的一部分但是我想在我提交時忽略它們。 例如,在登錄屏幕中,我可以硬編碼用戶ID,密碼用於測試。 我真的不希望在提交期間考慮此文件。 我理解.hgignore文件,但這確實適用於不屬於repo的文件。 在togise 中有什么技巧可以忽略屬於repo的文件 ? (因此在提交期間它們不會顯示為已修改的(M)。)謝謝
對於像這樣的事情,我總是使用.hgignore和BeforeBuild
(在.csproj文件中)的組合。
在我的一個寵物項目中,我有以下設置:
App.config
包含我用於測試的真實硬編碼用戶ID和密碼。
App.config.example
是相同的,但有假數據,如“dummy_user”和“dummy_pw”。
App.config
不存儲庫的一部分,它忽略(在.hgignore
)。
App.config.example
是存儲庫的一部分。
然后,我在解決方案的.csproj文件中的BeforeBuild
目標中有以下內容:
<Target Name="BeforeBuild">
<Copy
Condition="!Exists('App.config')"
SourceFiles="App.config.example"
DestinationFiles="App.config"/>
</Target>
所有這些一起具有以下效果:
.example
文件自動創建(然后他可以將他真正的登錄數據放入新創建的App.config
文件中)。 App.config
與真正的硬編碼的用戶數據已經存在,它不會被建立,因為如果BeforeBuild事件只會發生在覆蓋App.config
已不存在 Christian的答案是正確的,但我想提一下TortoiseHg通過他們的自動排除列表支持你想要的東西。
排除列表的一個問題是它無法使用合並:您必須在合並時提交所有文件,因此您必須與擱置,合並,提交和取消擱置進行一些跳舞。
當您執行TortoiseHG提交時,會有一個包含復選框的文件列表。 取消選擇您不想要的文件。
或者,在命令行上,執行提交形式hg commit --exclude "pattern"
,其中pattern在hg手冊頁中定義。
你可以隨時使用hg忘記 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.