我对版本控制的理解/经验有限,但是用它来执行基本操作,例如创建存储库,暂存文件和过去提交更改。我最近接受了另一个开发人员一直在研究的项目,他正在使用mercurial,他在版本控制方面的工作流程如下:
网站直接编辑网站的开发版本。一旦问题/功能完成,这可以提交给开发分支一旦完成了一系列修改,被视为安全/已批准并准备好进行实际操作,可以通过首先将dev上的更改推送到bitbucket然后再将其更改为可用。 sshing到实时服务器,将它们拉下来,并将开发更改合并回实时分支,然后提交合并。
我发现的问题是开发版本开始与网站的实时版本有很大不同。在这种情况下,我将无法将我正在进行的更改从开发站点/分支合并到实时版本。为了使这个工作流程可行,我将需要开发版本再次成为实时版本的精确副本。
为了实现这一点,我(迄今为止没有成功)搜索提交两个分支的完整版本的方法,如果需要可以恢复到那个,然后合并/替换网站的开发版本与当前的直播网站,以便它们是相同的。
如果可能的话,怎么样?也欢迎任何建议/改进,谢谢。
答案 0 :(得分:0)
听起来你想要的是将开发重命名为开发版,然后基于'live'创建一个名为development的新分支
在git中,这看起来像是:
git branch dev-old dev
git branch -D dev
git branch dev live
现在您的旧开发工作将备份并可用,dev将是live的精确副本。
您可能需要查找hg等效命令..