我们相对较小的开发团队对Dreamweaver感到有些不适。我们唯一依赖的功能是它的文件签入系统。由于团队可能在未来几个月内增长,我们需要解决这些问题。
Subversion引起了我们的注意,但不确定它是否符合我们的要求。
在我们从服务器请求某个文件并阻止任何覆盖已检出文件之前,我们需要知道某个人是否正在处理特定文件。
非常感谢有关一般最佳开发实践的任何建议或建议。
提前致谢。
答案 0 :(得分:6)
通常使用SVN的方式是不要按照你要求的方式“阻止”人:相反,SVN允许多个开发人员在同一个文件上工作,然后每个人做出的修改都会被“合并” ”
这种合并主要是自动的;但是当它“过于复杂”时(比如当两个开发人员修改了文件的同一部分时),一个人必须解决“冲突”,指出必须保留哪些修改开发者。
这种通过合并而不是锁定的方式起初看起来有点不寻常,但是一旦你得到它(你需要花一些时间向你的团队解释它,以及如何使用它当然有效率,它的效果非常好:我已经在超过10个开发人员的项目中使用了SVN,绝对没有问题(偶尔会有一些冲突,但是你解决了它们,那就是它)
另一方面,锁定文件只有一个开发人员可以使用它可以阻止整个团队:如果一个文件被一个人锁定,他会去休息一下怎么办?在同一时刻,其他人需要修改同一个文件才能工作?
有关SVN的更多信息,您可以查看this online book。它提供了许多有用的信息:-) (你可能不需要所有这些,但快速查看不会造成伤害^^)
作为旁注,如果您使用PHP开发,在大型应用程序上,像Eclipse PDT这样的IDE可以提供很多帮助;还有一些插件,比如Subversive,可以用来将SVN访问集成到Eclispe中。
答案 1 :(得分:3)
您可以查看许多版本控制解决方案。您确定要限制人们处理类似文件吗?用户可以分叉开发分支并拥有自己的,当他们检查任何冲突时都需要合并在一起。一些版本控件带有工具来处理大多数冲突。
锁定另一个开发人员可能需要进行修改的文件并不总是一个好主意。您可能遇到的一个问题是,如果签出文件的人不在办公室且他们的机器无法访问。
如果这是您必须拥有的功能,那么大多数版本控件都允许您将分支配置为以这种方式工作。
其中一些版本控制包括:CVS,SVN,Git,SourceSafe,ClearCase
答案 2 :(得分:0)
如果您决定将SVN与Dreamweaver一起使用,可以使用扩展将一些命令集成到ide中:Subweaver
答案 3 :(得分:0)
颠覆对我们的团队来说是好的。我们试图决定是否应该锁定文件或使用默认的复制 - 修改 - 合并模型。你能给我一些例子,告诉你什么时候你会在同一个文件上有多个开发人员。这听起来有点古怪,因为我无法理解为什么它不能成为一个人的工作。