我的团队一直在开发一个基于php的web应用程序,后端是msql,前端是html、css、jquery。我们已经工作了相当一段时间没有版本控制。这个项目现在变得相当庞大和复杂,并且觉得是时候使用某种版本控制( vc )了。
我们读了很多关于vc的文章,并发现了一些人们推荐的技术。虽然这对他们来说可能是个完美的方法。它并不有效地适用于我们的案件。
我们的应用程序被分成不同的模块,我们已经将工作外包给了一些自由职业者。自由职业者在前端或后端独立工作,这取决于他们的技能。到目前为止,这项工作已经在一个专用网络上进行了,我们希望转向一个在线系统。
现在的问题是,我们不能将整个项目的源代码分发给所有开发人员。开发人员只允许在一些公共库及其各自的模块上工作。
因此,我们不能允许将整个项目下载到每个开发人员本地机器上。因此,我们需要找到一种方法,让所有开发人员在同一个分支上工作,或者在主干上工作。为了能够只访问代码的某些部分并在保存/提交时,可以检查它们的更改是如何立即生效的。
是否有办法完成上述任务?为网络应用程序?使用像subversion这样的版本控制?
总结一下,我们试图实现的特性如下。
经过大量的在线搜索,我们找到了以下的可能性。但不确定这是否是正确的做法。
这样的配置是可以使用subversion实现的,还是应该使用其他开源版本控制工具?
发布于 2012-02-20 06:50:12
试图阻止开发人员访问整个源树对我来说似乎有点误导。这是公司政治吗?你不相信你的开发者吗?
无论如何..。
实现您想要的目标的最简单的方法可能是将每个模块放入自己的存储库(svn、git等)。然后,你可以有选择地选择谁可以访问哪一个回购。
发布于 2012-02-20 09:11:40
发布于 2012-02-21 16:03:52
首先,我建议阅读“持续交付”一书(这里网站)。它提供了许多如何设置这类事情的例子。
其次,是的,SVN允许您在文件夹级别上分配权限和回购级别(但阅读“您真的想要做这个”部分)。
第三,确保开发人员有最新的副本是您应该通过纪律灌输的东西--“在开始工作之前,在提交之前,运行svn更新”)。提交后挂钩有一个坏习惯,破坏东西,你没有阻止提交,破坏了构建。
第四,我会考虑设置一个连续集成服务器(在连续交付书中也有描述)。这可以确保每当您将开发人员的工作组合在一起时,就会有一个干净的、可工作的构建。
https://stackoverflow.com/questions/9357106
复制相似问题