在Mercurial分支之间移动未分级+未提交的更改

时间:2016-02-24 14:43:32

标签: mercurial branch dvcs

我克隆了一个Mercurial仓库,做了一堆本地工作,忘了为这项工作建立一个功能分支。

正常流程是:

  1. 克隆
  2. 创建分支
  3. 切换到该分支
  4. 在那个分支中完成你的工作
  5. 推送该分支
  6. 代码审核
  7. 如果代码审核通过,则合并分支w / default(本地)
  8. 将合并的更改推送到default
  9. 关闭功能分支
  10. 所以我需要创建一个新分支,将所有未经过调试/未提交的代码更改(发送到default)移植到此分支(以便default现在是干净的,新分支包含我的更改),然后推送我的功能分支。

    我通过hg branch new_feature创建了新分支。但是在倾注了Merucrial文档后,我无法弄清楚下一步。

    所以我问:如何移动(而不仅仅是复制)我从defaultnew_feature分支的所有未暂停/未提交的更改?

1 个答案:

答案 0 :(得分:2)

你不应该特别做任何事情。

您未提交的工作文件夹更改不稳定,您可以在提交之前设置分支名称,而不会丢失更改。

如果您在命令行中,只需执行以下操作:

hg branch feature-X
hg commit -m "Added feature X"

如果你正在使用TortoiseHg,只需点击"分支:默认"在提交消息输入字段上方的按钮,然后选择"打开一个新的命名分支"并为其命名,然后单击“确定”,然后正常提交。

设置在提交期间使用的分支名称实际上不会更改您的工作文件夹,它不会进行更新,它不会做任何事情,除了在元数据中记录分支名称应该是什么是

另请注意,这只允许您创建要提交的新分支。如果要在现有分支上继续,首先需要更新到该分支的头部,这可能会导致更改工作文件夹。但是,如果要创建新分支,则不需要执行此操作。