我是一个小型开发团队(4人)的一员。
我们都不具备版本控制方面的丰富经验,但我们必须根据公司的政策使用Perforce。在大多数情况下,它一直都很棒,但我们已经保持了一个简单的过程,我们之间已达成一致并开始变得不那么理想。我想知道人们是否可以分享他们在版本控制方面的工作顺利有效地工作。
我们的原始设置是:
之前这项工作很好,因为我们的项目规模很小且非常分散。但是,现在我们都在开发同一个大开发分支。自创建分支以来已经发布了更改,并且在完成之前将进行更多更改。
我们还需要在开发的各个阶段部署用于测试的代码,并且此代码需要与开发更改以及对生产所做的任何更改保持同步。
我们已经决定在这个阶段我们将在dev分支的同时创建发布分支,每当我们需要测试版本时,我们将合并当前的Trunk(生产)和当前的dev分支,以便它完全是最新的。但是,这种合并需要整个团队花费大量时间,而且效果不是很好。
我被告知不同的团队有不同的处理方式,所以我不是要找我的流程修复,但我很想听听你愿意分享的设置
答案 0 :(得分:1)
如果您不熟悉版本控制和最佳实践,我建议在Perforce中使用Streams。功能流和分支非常相似。与Streams的不同之处在于Perforce利用基于流类型的预构建关系并提供基本治理(即,在合并之前,您无法将这些文件复制到其他流)。
管理员可以覆盖所有命令。
一旦您使用流,您可以通过几种不同的方式做事。您有三种类型的流,Release(最稳定),Main(稳定)和Development(最不稳定)。您可以创建任何您喜欢的层次结构。
我想在我的情况下,我会有一个Mainline,一个集成开发流,然后是每个开发人员要使用的开发流。这样,您每个人都有自己的游乐场,并且可以在完成后将更改移动到集成流。然后,可以将完成的更改合并到其他开发人员流中。