我们是一个由两名开发人员开发PHP/MySQL应用程序的团队。我们一段时间以来一直在使用Netbeans/TortoiseHG,但由于我们的项目没有跨越,开发相当简单直接,我们一直在使用Mercurial主要有一个中央存储库,我们都可以找到最新的任何其他人正在处理的版本。NetBeans,PHP项目上的TortoiseHG和版本控制
到目前为止,发展路径遵循非常简单的步骤:
- Netbeans中的龟创建项目
- 创建库
- 有这种龟仓库的一个克隆的共享空间
- 作为发展进程,承诺,推动(如果我们其中一个人不得不在他缺席的情况下更改其他项目),并拉动。
正如您所见,非常简单且有限,但足以满足我们的需求。
但是现在我正在开发一个需要真正版本控制的项目。在我而言,这意味着我需要保持两个单独的和独立的发展道路,一个用于生产,一个用于开发:
- 一个版本(我们称之为1.0)将反映的是生产和意志根据需要进行更新。这里的发展将基于生产中发现的错误和用户的要求; (这些更改可能必须传播到“其他版本”;
- 其他版本(让我们说2.0),将是我将工作的新功能的地方,至少不会在生产中几个月..
我的问题是,我应该怎么设置这个项目,从目录结构到NetBeans和TortoiseHG?什么是最好的做法是什么?
顺便说一句,我使用NetBeans IDE 7.3和TortoiseHG 2.7.1与Mercurial-2.5.2
To gi让我感觉到自己在哪里,在TortoiseHG中我已经玩了一些分支,但是我得到的结果并不是我所期望的(我没有得到我希望的两套独立文件,以便对它们进行操作独立)。我不知道我是否做错了,或者分支不是我需要的。
因此,在分支失败并且不知道该怎么做的时候,我考虑过在同一个Netbeans项目中创建多个文件夹/目录,每个版本都有一个文件夹和每个文件夹的名称(version1.0,version2.0 ,版本3.0 ...)。然后,我会将项目的整个文件结构放置在这些文件夹中的每一个文件夹中,并对更新进行手动控制,即在进行任何更改后,我会根据需要手动将文件从一个“文件夹版本”复制到另一个文件夹版本。但是在如此多的层面上这看起来很错。
根据我写的内容,你能告诉我如何正确处理这个问题吗?什么是最佳实践?或者你能否指出我在正确的方向,我可以找到解释如何到达那里的教程?
感谢, S.
那么你需要的是1.x和2.x文件共存于你的文件夹中?如果你需要,你可以使用'按文件夹'模式。你有两个分支,'1.x'和'2.x'用于同一个仓库,并且它们有不同的文件集。并有两个不同的工作目录,有自己的.hg回购。然后在1.x文件夹中使用'hg up 1.x',在2.x文件夹中使用'hg up 2.x',就像两个独立的程序员一样。 –
或者如果你仍然想要像hg(不是svn cvs ...)那样的DVCS,但只需要一个repo,你可以尝试bzr,它有一些叫做'standalone tree'的特性。 –