管理 Mercurial 分支和书签
使用 WebStorm,您可以使用命名分支和轻量级分支(书签)。WebStorm 提供了在分支和书签之间创建、合并和切换的接口,请参阅在 Mercurial 工作目录之间切换。您还可以在终端中运行命令。
有关在分支和书签之间切换的信息,请参阅在 Mercurial 工作目录之间切换。
打开分支机构列表
大多数带有分支和书签的操作都是从分支列表中调用的。
该列表显示了项目根目录下的所有 Mercurial 存储库、所有命名的分支以及其中的所有书签。当前存储库和当前书签标有勾号。当前命名分支的名称显示在状态栏的专用hg区域中:
要打开分支列表,请执行以下操作之一:
在状态栏上,单击专用hg区域中当前命名分支的名称。
从主菜单中,选择
。从编辑器或 Mercurial 工具窗口的上下文菜单中,选择 。
创建命名分支
新分支立即变为活动状态,其名称显示在hg区域的状态栏上。
在分支列表中,单击新建分支。
在打开的“创建新分支”对话框中,指定新分支的名称。
创建书签
在分支列表中,单击新建书签。
在打开的新建书签对话框中,指定要创建的书签的名称。
指定是否要立即切换到新书签。
要激活新书签并因此启用跟踪和更新书签标识的轻量级分支,请清除Inactive复选框。新书签立即变为活动状态,其名称在“分支”列表中用勾号标记。
要创建非活动书签,即保留在当前轻量级分支(书签)或命名分支中并稍后切换到新书签,请选中Inactive复选框。
关闭一个分支
根据Mercurial 工作流程,当您完成功能开发并且不希望有任何进一步的更改时,您将关闭相应的分支。关闭的分支不会显示在活动分支之间、日志视图等中。要关闭分支,请执行以下操作:
在分支弹出窗口中,单击关闭分支。将显示提交更改对话框。
单击提交并关闭。所有更改都将被提交,当前分支将被关闭。
请注意,如果您在“存储库”部分列出了多个存储库,则相应的菜单选项将切换到关闭分支,并且该close
操作将应用于所有分支。
合并命名分支和书签
您可以将命名分支或书签与另一个命名分支、另一个书签或由标签或修订号标识的特定变更集合并。
将一个命名分支或书签与另一个命名分支或书签合并意味着与其头部合并。
可以通过菜单项Branches列表中打开 Mercurial 特定的Merge对话框。
将命名分支或书签与变更集合并意味着将分支头与指定的变更集合并。变更集可以通过修订号或标签来标识,请参阅https://www.mercurial-scm.org/wiki/Tag。
将命名分支或书签与特定变更集合并只能通过 。
有关合并操作本身的定义和特定于 Mercurial 的详细信息,请参阅https://www.mercurial-scm.org/wiki/Merge。
默认情况下,Mercurial要求在合并之前,当前工作目录应该是干净的,也就是说,它不应该包含任何未提交的更改。否则合并操作失败,WebStorm 显示相应的错误信息。该消息还建议您通过运行hg merge <target branch, bookmark, or changeset> -C
丢弃未提交的更改来清理当前工作目录。
如果您当前的工作副本不干净,您可以按照Shelve and unshelve changes中的描述提交更改或搁置它们。
将命名分支或书签与另一个命名分支或书签合并
将一个命名分支或书签与另一个命名分支或书签合并意味着与其头部合并。
确保您当前的工作目录是clean,也就是说,它不包含任何未提交的更改。提交或搁置更改(如果有)。
通过执行以下操作之一调用合并:
在分支列表中,单击要合并的分支或书签的名称,然后从列表中选择合并:
选择Editor的上下文菜单中 。
到主菜单或 从在打开的合并对话框中:
从显示当前项目根目录下所有可用的 Mercurial 存储库的存储库列表中选择目标存储库。
选择分支或书签选项并选择命名的分支或书签以合并当前工作目录。
解决冲突。一旦发生冲突,“冲突”对话框就会打开,其中包含冲突文件的列表。使用对话框的控件来解决问题:
要保留当前工作目录的版本,请单击Accept Yours。
要保留要合并的分支的版本,请单击接受他们的。
要手动解决冲突,请单击合并并使用冲突解决工具,如解决冲突中所述。
如果在合并期间没有发生冲突,则操作会静默通过,合并日志会显示在 Mercurial 工具窗口中。
将命名分支或书签与变更集合并
将命名分支或书签与变更集合并意味着将分支头与指定的变更集合并。变更集可以通过修订号或标签来标识,请参阅https://www.mercurial-scm.org/wiki/Tag。
确保您当前的工作目录是clean,也就是说,它不包含任何未提交的更改。提交或搁置更改(如果有)。
选择Editor的上下文菜单中 。
从上下文菜单或 从在打开的合并对话框中:
从显示当前项目根目录下所有可用的 Mercurial 存储库的存储库列表中选择目标存储库。
选择标签或修订选项并选择标签或指定哈希或修订号以合并当前工作目录。要复制哈希,请打开 Mercurial工具窗口 的日志选项卡 ,选择相关的分支和修订,然后从上下文菜单中选择复制哈希。Alt+9
解决冲突。一旦发生冲突,“冲突”对话框就会打开,其中包含冲突文件的列表。使用对话框的控件来解决问题:
要保留当前工作目录的版本,请单击Accept Yours。
要保留要合并的分支的版本,请单击接受他们的。
要手动解决冲突,请单击合并并使用冲突解决工具,如解决冲突中所述。
如果在合并期间没有发生冲突,则操作会静默通过,合并日志会显示在 Mercurial 工具窗口中。