假设我有一个变更集我标记为“稳定”。现在我更新为“稳定”,然后开始编写我的新功能,一路上提交。它尚未准备好,所以我不想在此时将其合并回稳定版,但我需要在另一个分支上修复一个紧急错误。
我更新到分支,修复错误并提交我的更改。现在我想回到我离开的地方,我该怎么做?
我可以“标记”我的功能分支,以便我可以再次找到它,但AFAIK标记在我提交时不会沿着我的分支浮动,所以它总是会有一些修改。这对于“稳定”是好,因为我不希望该标记移动,但对我的功能分支不好。
我该如何处理?
我突然意识到我可以hg up <tag>
然后第二次跑hg up
,这会把我带到分支的尖端,不是吗?连续两次运行hg up
似乎有点尴尬,但如果这是Mercurial做事的方式,那就这样吧。
答案 0 :(得分:2)
在Mercurial中,书签是一个标记,无论何时提交都会向前移动。这听起来就像你想要的那样:
(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
答案 1 :(得分:1)
您是否使用未命名的分支作为功能分支?如果没有,您的分支机构肯定有一个名称,您可以在hg up <branch_name>
中使用该名称来获取其提示。