IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]突击Mercurial SCM(HG)3---撤销操作

    lincyang发表于 2014-11-20 16:48:49
    love 0

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





沪ICP备19023445号-2号
友情链接