Mercurial:创建分支而不必先进行更改

Nei*_*ell 22 version-control mercurial tortoisehg branching-and-merging

我听说在Mercurial存储库中创建分支的唯一方法是在工作副本中进行更改,然后将它们提交到新分支.

在Subversion中,我可以创建一个分支而无需进行更改(通过复制trunk到下面的路径tags) - 是否可以在Mercurial中执行此操作?

我目前只看过TortoiseHg,所以这可能只能通过命令行工具完成,我不知道.

我的工作流程是:

  • 创建功能分支.
  • 在该功能分支中做一些工作.
  • 创建候选发布版本分支.
  • 合并要素以释放候选分支.
  • 部署,测试,修复部署,测试,修复发布候选分支.
  • 将发布候选分支合并到主干.

提前谢谢了.

ang*_*son 31

这取决于你的意思是分支.

命名分支可以通过为其命名然后提交来创建,它最终将作为历史记录中的新变更集,但您不需要显式更改工作文件夹中的任何文件以允许提交.

hg branch NEWNAME
hg commit -m "Created branch NEWNAME"
Run Code Online (Sandbox Code Playgroud)

您也可以使用TortoiseHg对话框执行此操作.

但是,如果要创建另一个未命名的分支,即.只是另一个头,然后是的,你需要改变一些东西.实际上,为什么你只想创建一个没有变化的空变更集?只是发出信号"当我有一些变化时,这是我将我的分支放在哪里"?


Ida*_*n K 6

您可能想要查看书签扩展(很快将成为核心Mercurial的一部分).
如果你熟悉分支在git中的工作方式,那么它几乎是一样的.

就像git中的分支一样,你可以在不提交任何内容的情况下创建书签.

$ hg bookmark my-feature
Run Code Online (Sandbox Code Playgroud)