#### 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."
~~~