2012-01-27 58 views
3

我改名爲我的Mercurial庫幾個目錄[不受汞重命名命令我是不是在那個時候意識到這一點]剛纔在我的Linux機器做一個MV,然後我意識到我想要的東西,他們的方式之前,所以我做了一個hg回滾。但它並沒有將事物恢復到它們所處的狀態,我怎樣才能獲得最後的承諾?我怎樣才能恢復我的目錄結構在mercurial?

回答

0

你想恢復。嘗試

hg revert -a 

或者指定一個目錄,如果你想恢復那個目錄。

+0

'汞revert'並很可能破壞後'汞rollback'數據,因爲回滾吹走尖端提交。 – Rudi 2012-01-27 20:08:30

2

hg rollback做刪除您的最新commit¹。您需要將目錄移回mv,並重新提交上次提交。

當再次遇到同樣的情況,你可以使用hg revert當前版本的內容替換工作副本的變化。但是由於您當前的修訂版本是上次提交之前的修訂版本,現在使用還原還會撤消上次提交的更改。

作爲一個經驗法則從來沒有使用rollback²,因爲你得到的回滾效果也更安全的mq擴展。

¹Technically它去掉了最新的交易,但它很可能是您最後一次交易是提交。

+0

我喜歡你如何排除第二個腳註...... :-)我認爲你的經驗法則是好的 - 對於Mercurial而言,新手應該不使用回滾。 – 2012-01-27 21:10:20

+1

@MartinGeisler我受到德意志聯邦委員會的個別時間表的啓發,那裏經常出現e)段,裏面寫着'e)'。 – Rudi 2012-01-27 21:32:36