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