关于设置版本控制系统的想法

我的任务是为我们的Web开发人员设置版本控制。由于我们已经有其他非网络开发人员使用它而为我选择的软件是Serena PVCS。 我正在努力决定如何设置它,所以我将描述我们的系统中如何进行开发,并希望它会产生一些关于如何最好地进行讨论的讨论。 我们有3台服务器,开发,UAT /暂存和生产。 Web开发人员只能访问在开发服务器上编写和测试其代码。一旦他们编写代码,他们必须通过认证过程才能将代码移到UAT / Staging,然后在那里彻底测试代码后,它就会转移到Production。 似乎让开发人员对他们的开发代码使用版本控制,他们不断变化,测试将是一个烦恼。通常,一次只有一个开发人员在一个模块上工作,因此没有太多(如果有的话)覆盖其他人工作的风险。 我的想法是让他们只有在准备好去UAT / Staging时才使用版本控制。这允许他们开发和测试而无需不断检查他们的代码。 然后,认证组可以使用版本控制来帮助查看对模块进行了哪些更改,并确保他们始终从开发人员那里获得UAT / Staging的最新修订版(现在我们依赖于开发人员zip'更改他们更改的文件并通过Web请求系统上传它们。 这将处理开发的文件方面,但使整个数据库方面不受版本控制。这是我需要考虑的其他事情...... 任何想法或想法将不胜感激。谢谢。     
已邀请:
我不会将源代码控制视为烦恼。请参阅尼克斯答案的原因。 如果我是你,我不会自己决定,因为它不是 在某些服务器上设置版本控制软件的问题但是 改变和改进发展程序的问题。 在您的情况下,可能值得解释和讨论发布分支 与您的开发人员和质量保证。 这意味着您的开发人员决定将哪些功能包含在发行版中 当演出人员忙于测试源的“分段”分支时, 您的开发人员可以在不干扰分段团队的情况下完成下一个版本的工作。 您还可以考虑功能分支,这意味着网站的每个特定新功能都有一个新分支。如果实现该功能,则将这些分支合并回来。 但同样:确保您的团队同意新的开发过程。否则,您通过设置版本控制系统浪费您的时间。 该过程至少应包括: 何时提交。 何时分支/合并。 什么/何时标记。 整体工作流程。     
我使用过Serena,这确实令人烦恼。除了工作流开销的不愉快之外,Serena还在检查检查流程之上,除了最简单的任务之外,做任何事情都是一件非常痛苦的事。 在Serena ChangeMan中,本地计算机上的所有代码都通过中央服务器进行管理。这是一个非常糟糕的设计。这意味着通常由开发人员完成的大量日常分支维护工作必须经历具有管理员权限的任何人,使该人1)成为瓶颈,并且因为他们有一个吸吮灵魂的工作而苦恼。 集中管理还严格限制开发人员可以在自己的计算机上使用代码。例如,如果您想在盒子上本地创建代码的第二个副本,只是为了进行快速测试或其他任何操作,您必须让管理员在您的盒子上设置第二个存储库。当您限制此类开发人员时,会限制团队的工作效率和创造力。 此外,工具很糟糕,用户界面很糟糕。你永远无法找到已经接受过培训的开发人员,因为它太模糊了。 所以,如果另一个团队说你必须使用Serena,那就回去吧。那个产品很糟糕。     
使用源代码控制不是任何烦恼,它是一个工具。在使用新的API和库时,拥有分支和标记的好处是非常宝贵的。 还有一个注意事项,几个月后,dev的机器之一失败并丢失了所有他最新的源代码,我们询问他最后一次将代码发送到源代码控制器时是2个月。有时只是在达到里程碑时让它备份东西很好。 我通常承诺每周进行几次源控制,这取决于我是否达到了一个好的停止点并且我将要继续使用不同或更大的东西。     
继最后两个优点之后,我还会问您的其他非Web开发人员他们正在使用哪些开发流程,因此您不必创建新流程。他们也会遇到许多在您的环境中出现的问题,无论是技术上使用相同的操作系统还是设置和管理。     

要回复问题请先登录注册