简单mercurial webdev repo设置:功能与修复

简单mercurial webdev repo设置:功能与修复,mercurial,Mercurial,我继承了Mercurial系统的基本网站,但我是Mercurial的新手,在找到比我更有能力的人之前,我只是临时的网站保姆。但与此同时,我可以用一些指针来说明如何将我们的功能开发与快速错误修复分开 目前,我们有3个基本环境:单个开发人员环境、暂存环境和生产环境。每个环境都有自己的本地Mercurial回购协议。单个bitbucket repo充当每个环境推送和拉取的主repo 问题是当有人正在编写尚未完成的代码,但需要提交一个需要快速部署的快速bug修复程序时。如果开发人员已经提交了对未完成代码

我继承了Mercurial系统的基本网站,但我是Mercurial的新手,在找到比我更有能力的人之前,我只是临时的网站保姆。但与此同时,我可以用一些指针来说明如何将我们的功能开发与快速错误修复分开

目前,我们有3个基本环境:单个开发人员环境、暂存环境和生产环境。每个环境都有自己的本地Mercurial回购协议。单个bitbucket repo充当每个环境推送和拉取的主repo

问题是当有人正在编写尚未完成的代码,但需要提交一个需要快速部署的快速bug修复程序时。如果开发人员已经提交了对未完成代码的更改,并提交了快速错误修复并进行了推送,那么所有这些代码都将进入bitbucket repo

从我迄今为止的研究来看,我可以通过开发bitbucket回购(用于较慢的开发)和“稳定”bitbucket回购(用于现在需要进行的修复)

在这种情况下,在我们的开发机器上,我们将在本地开发repo中执行大多数较慢的开发代码,这些代码将从本地稳定的repo中克隆。当我们想要共享未完成的代码时,我们会推/拉到bitbucket开发人员。其他开发人员可以从本地开发人员推/拉到bitbucket开发人员,以保持本地开发人员环境同步或合并代码

当我们准备将其推送到生产环境中时,我们会将代码从开发环境推送到bitbucket main中,然后将其拉到测试阶段。如果看起来不错,我们会将bitbucket主回购协议投入生产。稍后,我们会将bitbucket主回购拉入个人稳定回购以保持同步,然后从个人主回购拉入个人开发回购以实现同步

如果我们处于DEV环境中的不完整代码的中间,但必须快速进行一些错误修复。我们会在我们的个人稳定回购协议中进行错误修复,该协议应该没有任何不完整的代码,将本地回购协议推到bitbucket stable,然后将其投入生产。然后,我们会将bitbucket稳定地拉入我们的个人开发环境中,使其与生产环境保持同步,但仍保留未完成的代码

我觉得有一种更简单的方法我不理解。如有任何建议,将不胜感激

问题是当有人正在编写尚未完成的代码,但需要提交一个需要快速部署的快速bug修复程序时

这是一个使用工作流和(缺少)管理的问题,抱歉。我认为目前的状态至少有3个弱点

  • (不相关)为什么三次回购而不是有特殊命名分支机构的单一回购
  • 为什么在切换任务工作方式时,不作为强制工具使用
  • 为什么所有开发都在默认分支中进行,而命名分支不被使用
一、 在这种情况下,项目经理将评估两种可能的方法,并在测试其中任何一种(或两者的组合)后实施

  • 单分支模式的MQ扩展必须用于任何WIP。只有完成的和经过测试的变更才能转换为变更集(因此,可以推送到公共部门)
  • 单分支模式替换为“每个任务分支”工作流(任何任务-开发人员回购中的新命名分支,稍后合并为默认),默认推送模式“所有分支”替换为“仅推送指定分支”:仅
    …-b默认值(如果是分离的回购),
    -b default-b STAGING-b PROD
    如果是单个回购,每个目标/DEVEL,STAGING,PROD/有单独的分支。在-b的情况下,只有从其他命名分支(即合并分支)中选择的分支和这些分支中变更集的父级将推送到公共,未完成(和未合并)的分支将保持本地

谢谢。你的弱点部分是我主要寻找的。这有助于更好地阐明问题,进而帮助我更准确地研究或寻求帮助。