基本上,我有dev分支,我喜欢做的是在实现某些东西时创建一个功能分支,然后将其合并。所以发生如下情况

 a
 b
 c
 d - dev
/ 
e
f - feature

由于dev不是头脑,是否仍然可以将dev设置为dev和feature指向f?

我很确定git可以做到这一点很好,但似乎无法说服Mercurial做同样的事情......

有帮助吗?

解决方案

Carl Meyer是对的。你正在考虑作为一个git用户,Mercurial以不同的方式处理事情。

您可以执行Carl建议的操作,并强制下一次提交在dev分支上。如果我看到它,我个人觉得这很混乱,因为开发分支会有不连续性。

我处理它的方法是将功能分支合并回来: hg update dev&& hg合并功能&& hg commit -m'合并已完成的功能。'

这将产生如下图形:

  a - dev
  b - dev
  c - dev
  d - dev
 /|  
e | - feature
f | - feature
 \|
  g - dev

对我而言,这清楚地说明了究竟发生了什么。您完成了分支以获取新功能并将其合并到dev分支中。在此期间,dev没有其他提交的事实只是巧合而不必改变工作流程。

其他提示

hg中的命名分支(与git不同)不要“指向”任何地方。分支名称不是特定转速的可移动别名。每个提交都有一个元数据标记,用于命名提交的分支;就是这样。

在这种情况下,如果没有从“d”降序的单独提交。在dev分支上,然后您需要做的就是运行“hg branch dev”。然后你的下一个提交,来自“f”,将返回分支开发。我认为这将实现您正在寻找的结果。

编辑:这样可行,但史蒂夫·洛什建议进行实际合并会带来更明智的历史。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top