我们相对较小的开发团队对 Dreamweaver 有点厌烦。我们唯一依赖的功能是它的文件签入系统。由于团队可能在接下来的几个月里不断壮大,我们需要解决这些问题。
Subversion 引起了我们的注意,但不确定它是否符合我们的要求。
我们需要做的就是在我们从服务器请求特定文件之前了解是否有人在处理特定文件,并阻止对已签出文件的任何覆盖。
任何关于一般最佳开发实践的建议或意见将不胜感激。
提前致谢。
我们相对较小的开发团队对 Dreamweaver 有点厌烦。我们唯一依赖的功能是它的文件签入系统。由于团队可能在接下来的几个月里不断壮大,我们需要解决这些问题。
Subversion 引起了我们的注意,但不确定它是否符合我们的要求。
我们需要做的就是在我们从服务器请求特定文件之前了解是否有人在处理特定文件,并阻止对已签出文件的任何覆盖。
任何关于一般最佳开发实践的建议或意见将不胜感激。
提前致谢。
通常使用 SVN 的方式是不要按照您要求的方式“阻止”人们:相反,SVN 允许多个开发人员处理同一个文件,然后每个人所做的修改被“合并”。
这种合并主要是自动的;但是当它“太复杂”时(例如当两个开发人员修改文件的同一部分时),一个人必须解决“冲突”,指出必须保留哪些开发人员的修改。
这种通过合并而不是锁来工作的方式一开始似乎有点不寻常,但是一旦你得到它(你需要花一些时间来向你的团队解释它,以及如何有效地使用它,当然),效果非常好:我在有 10 多个开发人员的项目中使用了 SVN,绝对没有问题(偶尔会出现一些冲突,但你解决了它们,仅此而已)。
另一方面,锁定文件以便只有一个开发人员可以处理它可能会阻止整个团队:如果一个文件被一个人锁定了,他去喝咖啡休息了怎么办?而在同一时刻,其他人需要修改同一个文件才能工作?
有关 SVN 的更多信息,您可以查看此在线书籍。它提供了很多有用的信息 :-) (你可能不需要所有这些,但快速浏览不会有任何害处 ^^)
附带说明一下,如果您使用 PHP 进行开发,在大型应用程序上,像Eclipse PDT这样的 IDE可以提供很大帮助;并且有一些插件,例如Subversive,可用于将 SVN 访问集成到 Eclispe 中。
您可以研究许多版本控制解决方案。您确定要限制人们处理类似文件吗?用户可以分叉开发分支并拥有自己的分支,当他们签入时,任何冲突都需要合并在一起。一些版本控制附带了为您处理大部分冲突的工具。
锁定其他开发人员可能需要对其进行修改的文件并不总是一个好主意。您可能会遇到的一个问题是,如果进行文件签出的人不在办公室并且他们的机器无法访问。
如果这是您必须拥有的功能,大多数版本控制将允许您配置您的分支以这种方式工作。
一些版本控制有:CVS、SVN、Git、SourceSafe、ClearCase
如果您决定将 SVN 与 dreamweaver 一起使用,可以使用扩展程序将一些命令集成到 ide 中: Subweaver
Subversion 对我们的团队来说是可以的。我们正在尝试决定是否应该锁定文件或使用默认的复制-修改-合并模型。你能给我一些例子,说明你什么时候会有多个开发人员在同一个文件上。这听起来有点奇怪,因为我不明白为什么它不能是一个人的工作。