突击Mercurial SCM(HG)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."



你可能感兴趣的:(SCM,突击Mercurial,SCM(HG),HG,mercurial,SCM)