我是Mercurial的新手,在清理完項目中的圖像文件夾之後,我有大量文件顯示!在'hg狀態'中。我可以爲每個輸入'hg forget',但必須有一個更簡單的方法。如何使用Mercurial忘記所有移除的文件
那麼,我該如何告訴mercurial忘記文件夾中所有已刪除(status =!)文件?
我是Mercurial的新手,在清理完項目中的圖像文件夾之後,我有大量文件顯示!在'hg狀態'中。我可以爲每個輸入'hg forget',但必須有一個更簡單的方法。如何使用Mercurial忘記所有移除的文件
那麼,我該如何告訴mercurial忘記文件夾中所有已刪除(status =!)文件?
你可以試試:
hg forget -I '*'
,以便在您忘記命令的所有文件。
要小心,它不會捕獲當前目錄中以點開頭的文件。 – 2010-03-24 18:47:45
沒有爲我做任何事情:「中止:沒有指定文件」 – stian 2011-04-14 07:43:35
爲了超越根目錄,您需要\ * \ *而不是*嗎? ('hg help patterns') – 2016-07-20 16:48:47
隨着文件集(水銀1.9):
hg forget "set:deleted()"
在一般情況下,在Linux或Mac:
hg status -dn | while read file ; do hg forget "$file" ; done
或者,如果你的shell允許的話,如果沒有太多的文件,並如果文件名不包含空格或特殊字符,則:
hg forget $(hg st -dn)
我
通過使用狀態-d
標誌,顯示丟失的文件:在您的回購根
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
運行這一點,如果你對結果滿意,去掉echo
這比已接受的答案而不是做了額外的工作,例如添加一堆未跟蹤的文件。
我得到了'沒有這樣的文件或目錄'爲每個文件,可能他們缺少。 – Grzenio 2012-11-13 09:41:46
更短,而不是
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
這
hg status -d | cut -d " " -f 2 | xargs echo hg forget # test case
hg status -d | cut -d " " -f 2 | xargs hg forget # real work
重複:http://stackoverflow.com/questions/2412239/how-to-do-mercurials-hg-remove-for- all-missing-files – Cullub 2016-01-18 20:24:30
不完全是重複的,儘管解決任何一個都需要列出不在'ls'中顯示的文件。該問題詢問如何將刪除的文件標記爲已移除hg。這一個是如何* un *標記所有被移除的hg文件。 – 2016-07-20 16:51:32