将名称命名为匿名分支

时间:2010-12-16 08:26:15

标签: mercurial

我有一个匿名分支(没有命名的分支,红色矩形)来自克隆。 alt text

我意识到我可以通过bookmarking

为匿名分支提供名称

但是,bookmarking不是永久性的。我想知道,我是否可以让匿名分支真正命名为分支?这样做是否为时已晚?或者我应该在1)Change calendar to dateTime.更改的最开始时这样做?

感谢。

3 个答案:

答案 0 :(得分:4)

当你提交第一个变更集时,你应该已经完成​​了,你指出的那个。

分支的名称永久存储为变更集的一部分,因此在这种情况下,变更集肯定在分支上,只是它们位于default分支上。

将新分支名称追溯到变更集中的唯一方法是将变更集逐个重放到没有变量集的存储库中,然后您将获得在那里获取分支名称的新机会

确定是否要为分支命名?一旦它存在,你就无法摆脱它(没有像在那里那样做同样的练习),所以如果它是暂时的,那么名字是错误的。

答案 1 :(得分:2)

您无法更改该变更集上的分支名称,但您可以通过添加具有所需分支名称的新提交来命名分支。从此以后'hg clone -r branchname'和'hg diff -r branchname'等将引用该分支的最新提示。

你和Lasse以及我自己一直在其他地方建议,命名分支对于功能来说并不是一个好主意,更适合于像开发分支这样的长期存在的东西(例如:稳定,有趣等)但是这么久当您了解命名分支相对于书签和匿名分支的持久性时,您可以根据您的功能分支解决方案做出您喜欢的任何决定(个人而言,我更喜欢命名克隆中的匿名分支)。

答案 2 :(得分:1)

您可以使用Rebase extension

  1. 将工作副本更新为“更新代码”修订版
  2. 创建新分支,例如“新分支”(hg branch new branch)
  3. 提交它(hg commit --message =我的更改的单独分支)
  4. 从新提交之上的“将日历更改为dateTime”开始重新设置变更集。