2012-01-27 57 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