我使用hg forget <files>
來解開一些文件,而不會像使用hg rm <files>
那樣從我的文件系統中刪除它們。我承諾進行更改並運行hg status
按預期將這些文件列爲未跟蹤? <files>
。然後我將變更集推送到我們的遠程存儲庫,其他人將其拉出並更新,mercurial從文件系統中刪除這些文件!未刪除文件而不刪除文件和其他文件系統?
爲什麼Mercurial不會將這些文件識別爲與其他人的存儲庫副本上的hg forget
未跟蹤,就像它在更改產生的副本中所做的一樣?
他們的另一種方法是在未從任何人的文件系統中刪除文件的情況下解除對文件的跟蹤?
是不具有'汞rm'和'汞forget'告訴它你需要它的點做既然不知道?在我的情況下,我正在追蹤那些我認爲是每個人本地開發環境都獨一無二的文件。 – Kevin
不幸的是,'hg rm'和'hg forget'之間的唯一區別在於後者只在工作樹中保留文件。我已經嘗試過(關閉,不要太認真)爲Git提供一個語義定義,以便在'.gitignore'(與.hgignore相同的想法)中標記文件爲「不是版本化的,而是珍貴的「(所以不要刪除它),但沒有提出我喜歡的語義,更不用說真正的實現。 – torek
我是編程和VCS的新手,所以這個討論可能有點超出我的理解,但我想我不明白他們爲什麼不能跟蹤使用什麼命令來解析文件,並且至少警告人們他們拉改變。當您拉動並嘗試更新未在本地跟蹤的更改時會出現警告;我認爲你必須在更新之前開始跟蹤這些文件,所以爲什麼不提醒你現在跟蹤的文件未被跟蹤,並提供選項以便在更新之前在本地解除它們,以便它們不會被刪除或強制更新,因爲知道這些文件會被刪除? – Kevin