2015-01-10 70 views
2

this question但這並不是我想要的。git reset HEAD的Mercurial等價物,還是hg addremove的逆?

我剛剛將一堆文件從一個目錄移動到另一個目錄。我也創建幾個新的文件。我跑python setup.py sdist,這會產生一堆文件。

我忘了添加所有這些文件我不關心我的.hgignore所以當我跑hg addremove - 巴姆,我得到了一切。

Ick。

在git中,我會運行git reset這將簡單地取消所有我的更改,生活會很開心。在TortoiseHg中,我可以點擊這個小複選框幾次來取消所有這些選項,並且生活也會會很高興。

但是在命令行上......我只想回到之前做的事情的方式hg addremove

我如何做到這一點?

回答

3

可以在兩個步驟中撤消添加'添加'和'刪除'。 首先,要撤消「補充」:

hg forget "set:added()" 

撤消清除是比較麻煩一些,因爲如果是除去我們只是hg revert標文件,比如`汞恢復「設置:刪除()」,這些文件將回到工作目錄中。這可能不是你想要的,所以讓我們在它們恢復後立即將它們刪除,對於Linux,它會是這樣的:

hg locate "set:removed()" | xargs -I % sh -c 'hg revert "%"; rm "%"' 
相關問題