Version control 使用集中版本控制的正确/最佳/最有效方法是什么?
我作为一个小型开发团队(4人)的一部分工作 我们中没有人在版本控制方面有着丰富的经验,但根据我们公司的政策,我们必须使用Performance。在很大程度上,这是一个伟大的过程,但我们一直坚持一个我们之间达成一致的简单过程,这个过程开始变得越来越不理想。我想知道人们是否可以分享他们的版本控制工作顺利和有效的经验 我们最初的设置如下:Version control 使用集中版本控制的正确/最佳/最有效方法是什么?,version-control,perforce,Version Control,Perforce,我作为一个小型开发团队(4人)的一部分工作 我们中没有人在版本控制方面有着丰富的经验,但根据我们公司的政策,我们必须使用Performance。在很大程度上,这是一个伟大的过程,但我们一直坚持一个我们之间达成一致的简单过程,这个过程开始变得越来越不理想。我想知道人们是否可以分享他们的版本控制工作顺利和有效的经验 我们最初的设置如下: 我们有一个主干,它保存着现在的生产代码 每个用户为他们的工作创建一个开发分支,正如我们所做的那样 总是在相互不影响的不同领域工作 我们在RedhatLinux上开
- 我们有一个主干,它保存着现在的生产代码
- 每个用户为他们的工作创建一个开发分支,正如我们所做的那样 总是在相互不影响的不同领域工作
- 我们在RedhatLinux上开发,代码运行于/var/www/html。因此,我们同步到一个工作区,并将这些文件复制到此路径,更改权限,然后在那里执行更改。当我们想要签入时,我们会签出工作区中的文件,用我们更改的内容覆盖它们并提交(我认为这可能是我们最薄弱的部分)
- 如果对主干的任何更改影响到相关功能,则将合并这些更改。然后部署代码进行测试
- 测试完成后,我们将分支合并到主干中,然后从当前主干创建一个发布分支。该分支将再次测试,然后发布到生产中
有人告诉我,不同的团队有不同的工作方式,所以我不想为我的流程寻找解决方案,但我很想听听您使用什么设置来分享您的意愿如果您对版本控制和最佳实践不是特别熟悉,我建议您在Performance中使用Streams。在功能上,流和分支非常相似。与Streams的不同之处在于,Perforce利用基于流类型的预构建关系并提供基本治理(即,在合并之前,您无法将这些文件复制到其他流) 管理员可以覆盖所有命令 一旦您使用了流,您就可以用几种不同的方法来做事情。您有三种类型的流:发布(最稳定)、主(稳定)和开发(最不稳定)。您可以创建任何喜欢的层次结构
我想在你的例子中,我会有一条主线,一个集成开发流,然后是供每个开发人员使用的开发流。这样,每个人都有自己的游乐场,并且可以在完成更改后将其移动到集成流中。这些完成的更改可以合并到其他开发人员流中。太宽泛了:关于这个主题的整本书(我可以推荐)都已经写好了。答案太多,无法掩盖。一个问题是,你使用VC的方式在很大程度上取决于你的开发过程:VC是众多支持构建和维护系统的工具之一。我并不是真的在设计我的过程或任何东西时寻求帮助。正如我所说,我只是想看看其他人使用了哪些流程。如果你或其他人的太复杂了,无法像我那样总结,那就好了。不过谢谢你的推荐,我会查一查的!