【发布时间】:2016-06-06 22:09:03
【问题描述】:
我克隆了一个 Mercurial 存储库并做了一堆本地工作,然后忘记为上述工作创建一个功能分支。
正常流程是:
- 克隆
- 创建分支
- 切换到该分支
- 在那个分支做你的工作
- 推那个分支
- 代码审查
- 如果代码审查通过,将分支与
default(本地)合并 - 将合并的更改推送到
default - 关闭功能分支
所以我需要创建一个新分支,将我所有未暂存/未提交的代码更改(对default 进行的)移植到该分支(这样default 现在是干净的并且新分支包含我的更改),并且然后推送我的功能分支。
我通过hg branch new_feature 创建了新分支。但是在翻阅了 Merucial 文档之后,我无法弄清楚下一步。
所以我问:我如何将所有未暂存/未提交的更改从default 移动(不仅仅是复制)到我的new_feature 分支)?
【问题讨论】:
-
不能只设置分支名称然后提交吗?
hg branch feature-X后跟普通的hg commit -m "added feature X"? -
谢谢@LasseV.Karlsen (+1) - 我想我不知道...
hg branch克隆default是否像它目前的样子(包括我的更改),或者确实它根据我最初克隆 repo 时的外观克隆default? -
两者都不做,它只是记录你想要提交的分支名称。您的工作文件夹中没有任何变化。
-
如果您检查
.hg文件夹,那里应该有一个名为branch的文件,这是一个包含您当前所在分支名称的文本文件。如果你执行hg branch X,这个文件的内容将是X,然后当你提交时,你将提交一个新的变更集到分支X。