hg (Mercurial)multiple heads (hg 多头)、撤销 commit,并保留修改

2018/05/03 17:13
阅读数 160

有时候 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

 

撤销成功!

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部