我怎样才能 commit/push 更改到 "live" 分支然后继续在我的 "test/dev" 分支上工作?

How can I commit/push changes to a "live" branch and then keep working on my "test/dev" branch?

我对处理大型项目和使用任何形式的版本控制还很陌生,所以请多多包涵。

我在 local/intranet 网络服务器上有一个项目 运行ning。我将 mercurial 用于版本控制,将 hgworkbench/turtoisehg 作为 GUI。到目前为止,我只是提交了我对存储库的更改并将其推送到 default 分支。

现在是第一次将项目部署到实时服务器的时候了。为了在实时服务器上 运行,我必须对项目进行一些更改,主要是替换连接字符串、域名和 links/references。更改所有这些之后,我将这些更改提交到一个新分支 deployment。 (另一个人将从那里负责实际部署。)

一旦我将修改后的文件推送到 deployment 分支,我希望我的本地文件回到 default 分支的最新版本并从那里继续工作(假设最后一个参考# 是 42,推送到新分支是 ref# 43;所以我希望我的本地系统具有 #42 的状态,然后 #44 应该是默认分支中 #42 的直接子代。)

如何在不破坏任何分支的情况下执行此操作?

查看当前分支:

hg branch

(来自 TortoiseHg Workbench,您会在顶部的“* 工作目录 *”旁边看到当前分支。)

要将工作目录更新到 default 分支:

hg update default

(来自 TortoiseHg,使用存储库 --> 更新...)

现在您在 default 分支中,您可以像以前一样提交更改。准备好进行另一次部署后,您可以将最新更改从 default 合并到 deployment:

hg update deployment
hg merge default
hg commit

(从 TortoiseHg,首先更新到目标分支,在本例中为 deployment。然后右键单击 default 分支的尖端,然后 select "Merge with local..." 并且不要忘记在审核后提交合并。)