有时候 commit 后才意识到还未 pull,这个时候会有如下提示:

wlan-0-182:mobile-v2 lixiumei$ hg pull -u
pulling from ssh://hg@bitbucket.org/ifanr/socialbase
searching for changes
adding changesets
adding manifests
adding file changes
added 74 changesets with 193 changes to 155 files (+3 heads)
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
updated to "70b155edd91c: 1. 移动端增加获取插件详情接口;2. 更新 iconfont; 3. utils 增加时间格式处理和跳转至注册页的方法"
1 other heads for branch "feature/trochili-plugin-market-v1.0"

hg heads:

wlan-0-182:mobile-v2 lixiumei$ hg heads
changeset: 34748:a0daa4aa2008
branch: feature/hydrogen-menu-iterative
tag: tip
parent: 34741:665610d5fb59
user: Zeshuan Zhang <zhangzeshuan@ifanr.com>
date: Sat Apr 28 13:39:49 2018 +0800
summary: BAAS-2052 #comment 修复 HDevSidebar 子菜单折叠 bug

想要达到的效果:撤销刚才的 commit,并且保持本地更改不变,commit 的文件回退到 commit 前的状态(也就是说,所有的更改不会丢失)

方法:

第一步:hg out/outgoing(查看打算撤销的 commit 的 changeset)

wlan-0-182:mobile-v2 lixiumei$ hg outgoing
comparing with ssh://hg@bitbucket.org/ifanr/socialbase
searching for changes
changeset: 34749:70b155edd91c
branch: feature/trochili-plugin-market-v1.0
tag: tip
parent: 34726:06d8ccdad119
user: lixiumei <lixiumei@ifanr.com>
date: Thu May 03 11:17:27 2018 +0800
summary: 1. 移动端增加获取插件详情接口;2. 更新 iconfont; 3. utils 增加时间格式处理和跳转
至注册页的方法

第二步:hg strip --keep -r <changeset>

如果 hg 提示:hg: unknown command 'strip'

那么,进入 .hg 目录,目录下有文件 hgrc,执行 vi hgrc, 在 [extensions] 下添加 strip = ,保存退出即可。(或者使用编辑器修改 hgrc):

再次执行 strip

wlan-0-182:mobile-v2 lixiumei$ hg strip --keep -r 34749
saved backup bundle to /Users/huanghao/sso/.hg/strip-backup/70b155edd91c-e339a7d0-backup.hg

使用 hg outgoing 查看撤销是否成功

wlan-0-182:mobile-v2 lixiumei$ hg outgoing
comparing with ssh://hg@bitbucket.org/ifanr/socialbase
searching for changes
no changes found

撤销成功!

hg (Mercurial)multiple heads (hg 多头)、撤销 commit,并保留修改的更多相关文章

  1. Git撤销commit消息保留修改

    有时候commit后发现commit信息错了或者是添加了不想commit的内容,但还没有push到远程仓库 这个时候 git reset --soft [commit_id] 就可以回滚到某一个com ...

  2. hg(Mercurial)使用参考

    hg(Mercurial)使用参考   使用hg(mercurial)有好几个月了,个人感觉这款分布式的版本控制系统非常不错,易学,易用:你可以从做在你旁边的同事拉取完整的代码; 对网络的依赖性更低, ...

  3. 袭击Mercurial SCM(HG)

    这个叫水银的源代码管理工具尽管默默无闻,但还是得到了非常多团队的使用. 为了迎合某些团队的须要,我们也要用它来管理我们的代码. 今天的任务是先袭击学习.磨刀不误砍柴工. 对工具的掌握越快.工作的效率就 ...

  4. git撤销commit 并保存之前的修改

    撤销并保留修改 参数 –soft  # 先进行commit ,之后后悔啦  $ git commit -am "对首篇报告研究员字段改为author_name" 执行git log ...

  5. [转]git commit之后,想撤销commit

    本文转自:http://www.cnblogs.com/lfxiao/p/9378763.html 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &quo ...

  6. git commit之后,想撤销commit

    原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: ...

  7. git使用情景2:commit之后,想撤销commit

    ================实际操作============================== 提交到git上撤回 git reset head^1 提交到本地 撤回 git reset --s ...

  8. git commit 之后,撤销commit操作

    撤销.修改commit 写代码过程中,如果已经git add [files] git -m commit [files],没有push代码到远程仓库,想撤销commit,可以根据实际情况,使用以下参数 ...

  9. git commit之后,撤销 commit

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 可以执行如下命令 ...

随机推荐

  1. 信号single

    信号 Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre ...

  2. undo系统参数详解

    查看与undo相关的系统参数 1.undo_management 有两个参数值:auto.manual(默认) manual:系统启动后使用rollback segment存储undo信息: auto ...

  3. L347

    Even Educators Believe These 7 Myths About Learning1. Individuals learn better when they receive inf ...

  4. JavaScript中call和apply方法的使用

    acvaScript中的call()方法和apply()方法,在某些时候这两个方法还确实是十分重要的.1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法.2. 相同点:这两 ...

  5. 虚拟机中ubuntu不能联网问题的解决——NAT方式

    困惑我多时的Ubuntu联网问题终于解决啦,开心!!!现记录如下,方便日后取用. 可先直接尝试第3步,若不行,则走完全程. 1.查看/设置下NAT的网络 打开VMware Workstation, 点 ...

  6. Ubuntu 将其他盘挂载到/home的子目录下

    Ubuntu 14.04 将其他盘挂载到/home的子目录下当安装完Ubuntu系统,由于当时没有注意,分配的分区空间太小.经过一段时间安装了各式各样的软件后,常常会遇到/home目录下空间不够的情况 ...

  7. scott 本月报将收录移动Web加速技术的主要进展,欢迎读者一起完善,投稿邮箱:openweb@baidu.com

    _trackPageview 功能说明 用于发送某个URL的PV统计请求,适用于统计AJAX.异步加载页面,友情链接,下载链接的流量. 代码语法 _czc.push(["_trackPage ...

  8. pytorch查看模型weight与grad

    在用pdb debug的时候,有时候需要看一下特定layer的权重以及相应的梯度信息,如何查看呢? 1. 首先把你的模型打印出来,像这样 2. 然后观察到model下面有module的key,modu ...

  9. flask-不错的教程

    https://spacewander.github.io/explore-flask-zh/7-blueprints.html

  10. 内联元素padding与高度可控的分隔线实例页面

    html: <a href="">登录</a><a href="">注册</a> css: a + a:befo ...