3---撤销操作

1.撤销add

有时候我们用hg add

没加参数,直接把所以没有纳入版本库的文件都添加进来了。

而有些文件我们不是想添加的,怎么办?

因为我们是add进来,第一个想到的命令是remove。

我们执行一下,hg会给我们如下提示:

file has been marked for add (use forget to undo)
对,它推荐使用forget命令。这时forget命令就派上用场了。

hg forget xxx.java  

唯一的遗憾就是没有--all参数,我们只好一个一个把要撤销的文件加进来。

如果是同一个目录下的要forget,可以用通配符来做。比如:hg forget app/build/

对比git,可以使用rm --cached命令来撤销刚add的文件,如

$ git rm --cached tags  

2.撤销commit

当一次提交后,发现还有修改要做,比如我写的comment没有符合统一格式,那么我想修改它怎么办?

(如果是comment修改,在git中用git commit --amend 就可以了。)

开始我觉得应该有一个commit参数专门做修改,感觉git好像有。但没有找到,所以只好想其他办法。

revert命令不太适合此种情况,rollback还可以。直白的说,它会把时间带到刚刚最新的那一版。

    - commit
    - import
    - pull
    - push (with this repository as the destination)
    - unbundle

上述几个命令是可以执行rollback来回滚的。

我直接用rollback做了一次撤销commit的操作,然后进行一些修改,再次commit。

  hg rollback  
  hg commit -m "this time is all right."  
文章导航