hg (Mercurial)multiple heads (hg 多头)

Posted lee_xiumei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hg (Mercurial)multiple heads (hg 多头)相关的知识,希望对你有一定的参考价值。

有时候 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 多头)的主要内容,如果未能解决你的问题,请参考以下文章

mercurial:不包括带有存档的 .hg 文件

Ubuntu系统中安装Mercurial 以支持hg

无法通过 http 克隆 mercurial (hg) 存储库

sh hg mercurial

sh Mercurial(HG)到GIT

突击Mercurial SCM(HG)13---回退到指定版本