2012-11-22 74 views
3

剛纔使用addremove嘗試刪除不使用hg remove善變丟棄之前的所有添加的文件提交

現在有幾百個文件,這些文件將要在未來增加被刪除一些文件的錯誤犯

是否有反正我可以快速刪除所有這些添加的文件,而無需訴諸一個bash腳本,甚至更糟hg removingforgetting每個文件手動?

回答

7

如果你只想使用內部hg命令,就可以執行以下操作:

hg forget "set:added()" 

哪會忘記在工作目錄爲「補充」這是標記的任何文件。它利用了Mercurial頗具功能的filesets功能。

指定文件時可以使用其他過濾器,這可以讓您輕鬆修復其他錯誤。例如,輕鬆地重新添加刪除的文件,但沒有別的hg add "set:removed()"。該功能類似於(壽」謝天謝地不是簡單的)汞revsets,並且可以進行研究:

hg help filesets 
+0

不知道這一點。我有時要看一看。謝謝 ! – krtek

+0

Mercurial是一款出色的工具,但它的一些功能隱藏得非常好,除非你在正確的地方看:) – icabod

3

您使用的線沿線的東西做到這一點很容易在命令行:

hg status --added --no-status | xargs hg forget 

這應該忘記添加自上次提交的所有文件。

我可以建議將您不想添加的文件添加到.hgignore文件中,這樣不會再發生?

+0

這是找到它的善變提示技巧維基但另一種方法是吸引人的,因爲它後,我使用的方法將不是平臺特定的 – bph

相關問題