我很擅长处理大型项目并使用任何形式的版本控制,所以请耐心等待。
我有一个在本地/内联网网络服务器上运行的项目。我使用mercurial
进行版本控制,hgworkbench
/ turtoisehg
作为GUI。到目前为止,我只是提交并将我的更改推送到存储库default
分支。
现在是时候首次将项目部署到实时服务器了。为了在实时服务器上运行,我必须对项目进行一些更改,主要是替换连接字符串,域名和链接/引用。更改完所有内容后,我将这些更改提交到新分支deployment
。 (另一个人将从那里处理实际部署。)
一旦我将修改过的文件推送到deployment
分支,我希望我的本地文件回到default
分支的最后一个版本并继续从那里工作(假设最后一个参考#是42,推送到新分支是ref#43;所以我希望我的lokal系统具有#42的状态,#44应该是默认分支中#42的直接子项。)
如果不以任何方式破坏任何分支,我怎么能这样做?
答案 0 :(得分:1)
要查看当前分支:
hg branch
(从TortoiseHg Workbench,您可以看到当前分支" *工作目录*"位于顶部。)
将工作目录更新为default
分支:
hg update default
(来自TortoiseHg,使用Repository - > Update ...)
现在您处于default
分支,您可以像以前一样提交更改。准备好进行其他部署后,您可以将default
的最新更改合并到deployment
:
hg update deployment
hg merge default
hg commit
(从TortoiseHg开始,首先更新到目标分支,在这种情况下为deployment
。然后右键单击default
分支的提示并选择"与本地合并... "一旦你复习了,就不要忘记提交合并。)