0

假设我有一个已标记为“稳定”的变更集。现在我更新到“稳定”,然后开始编写我的新功能,一路提交。它还没有准备好,所以我现在不想将它合并回稳定版,但我需要修复另一个分支上的紧急错误。

我更新到分支,修复错误,并提交我的更改。现在我想回到我离开的地方,我该怎么做?

我可以“标记”我的功能分支,以便我可以再次找到它,但是 AFAIK 标记在我提交时不会沿着我的分支浮动,所以它总是会落后一些修订。这对“稳定”有好处,因为我不希望该标签移动,但对我的功能分支不利。

我该如何处理?

我突然想到我可以hg up <tag>然后再跑hg up第二次,那会把我带到分支的顶端,不是吗?连续运行两次似乎有点尴尬hg up,但如果这是 Mercurial 的做事方式,那就这样吧。

4

2 回答 2

2

In Mercurial a bookmark is a tag that moves forward whenever you commit. It sounds like precisely what you want:

(df)ry4an-mba:~ ry4an$ hg init smooth_reggae
(df)ry4an-mba:~ ry4an$ cd smooth_reggae/
(df)ry4an-mba:smooth_reggae ry4an$ echo this > AFILE
(df)ry4an-mba:smooth_reggae ry4an$ hg commit -Am first
adding AFILE
(df)ry4an-mba:smooth_reggae ry4an$ hg bookmark stable
(df)ry4an-mba:smooth_reggae ry4an$ hg checkout stable
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(df)ry4an-mba:smooth_reggae ry4an$ hg summary
parent: 0:fdb32de55e6b tip
 first
branch: default
bookmarks: *stable
commit: (clean)
update: (current)
(df)ry4an-mba:smooth_reggae ry4an$ echo more >> AFILE
(df)ry4an-mba:smooth_reggae ry4an$ hg commit -Am second
(df)ry4an-mba:smooth_reggae ry4an$ hg summary
parent: 1:38cdabce7149 tip
 second
branch: default
bookmarks: *stable
commit: (clean)
update: (current)
(df)ry4an-mba:smooth_reggae ry4an$ hg log -g
changeset:   1:38cdabce7149
bookmark:    stable
tag:         tip
user:        Ry4an Brase <ry4an-hg@ry4an.org>
date:        Wed May 08 20:02:05 2013 -0400
summary:     second

changeset:   0:fdb32de55e6b
user:        Ry4an Brase <ry4an-hg@ry4an.org>
date:        Wed May 08 20:01:31 2013 -0400
summary:     first
于 2013-05-09T00:03:09.160 回答
1

您是否使用未命名的分支作为您的功能分支?如果没有,您的分支肯定有一个名称,您可以使用它hg up <branch_name>来获取它的提示。

于 2013-05-08T22:43:11.273 回答