Version control 协同代码编辑

Version control 协同代码编辑,version-control,version,collaboration,file-locking,code-editor,Version Control,Version,Collaboration,File Locking,Code Editor,我在一家小型web开发公司(6人)工作,我们在市场上寻找新的代码编辑器/开发环境已经有相当一段时间了 目前,我们正在使用Dreamweaver(CS3)的编码端进行网站开发。每个站点的文件都托管在Dreamhost ftp服务器上。我们6个人都在远程ftp服务器上处理同一组实时文件。Dreamweaver有一个方便的文件锁定功能,可以防止我们通过不接触相同的文件来覆盖彼此的更改 现在,我们发现这种形式的开发允许非常快速的开发,并且喜欢完成事情是多么容易。然而,有很多事情我们不喜欢。其中之一是Dr

我在一家小型web开发公司(6人)工作,我们在市场上寻找新的代码编辑器/开发环境已经有相当一段时间了

目前,我们正在使用Dreamweaver(CS3)的编码端进行网站开发。每个站点的文件都托管在Dreamhost ftp服务器上。我们6个人都在远程ftp服务器上处理同一组实时文件。Dreamweaver有一个方便的文件锁定功能,可以防止我们通过不接触相同的文件来覆盖彼此的更改

现在,我们发现这种形式的开发允许非常快速的开发,并且喜欢完成事情是多么容易。然而,有很多事情我们不喜欢。其中之一是Dreamweaver的代码编辑器。我们也不喜欢缺少每个站点的代码历史记录

有人知道Dreamweaver有类似的文件锁定/ftp功能吗

如果没有,你能给我解释一下我们团队的源代码管理系统的最佳配置吗?我们愿意看看GIT、Mercurial和Subversion。理想情况下,新系统将:

1) 。在不同的操作系统上支持多个不同的代码编辑器。(Windows第一选择。)

2) 。几乎可以像当前一样轻松快速地推出代码

3) 。允许在办公网络之外处理文件

4) 。要便宜

我可能只是在表明我对如何使用版本控制系统的无知,但对于我们每个人来说,在我们的计算机上都有一个测试服务器,每个站点都有我们自己的测试数据库,这似乎不合逻辑。。。那很费时

你对我们的问题有什么解决办法?我认为我们要么升级到Dreamweaver的最新版本并永远坚持下去,要么我们必须找到某种ftp协作编辑器,要么我们必须实现版本控制

版本控制的好处是否超过了推出代码所需的额外时间

这对我们每个人来说似乎都不符合逻辑 在我们的服务器上有一个测试服务器 具有每个站点设置的计算机 用我们自己的测试数据库。。。那是 非常耗时

这通常是做这件事的方法。大多数现代框架将允许您在几分钟内(如果不是几秒钟的话)设置开发服务器——例如,使用嵌入式http服务器和数据库。如果你被困在一个古老的平台上,那么像wamp这样的解决方案只会稍微困难一点。记住,是时候花一次时间了,但它能让你更快。如果这个项目需要的时间超过几个小时,那应该是有益的。您不会浪费时间调试您的开发伙伴刚刚更改的内容,或者从您刚刚犯的愚蠢的数据库操作错误中恢复生产数据

(哦,如果你的网站只是HTML+JavaScript,那么你显然不需要任何本地服务器。)


至于版本控制系统,您提到的那些系统都很好,SVN需要更多的设置和对中央服务器的网络访问以进行提交。Git和Mercurial允许您脱机工作和提交,然后将更改推送到中央服务器,甚至在开发人员之间进行交换。我认为目前Mercurial在Windows上的效果更好。

迈克尔,我听到了你的痛苦

我不能说已经完全研究了所有的途径,但最近我真的开始喜欢Git了

我的第一个障碍是学习修订控制系统(RCS)是如何工作的。在我选择SVN vs Git vs HG vs Bazzar vs etc之前,我评估了我想要做的事情。这就是在本地工作,然后共享我的工作,并推送到Web服务器。
我发现了这个很棒的比较网站:

从这一点我可以清楚地看到Git值得花时间学习。作为一个逆向学习者,我投入到一个项目中,了解到事情很快就会变得一团糟,然后我开始阅读:和

然后我意识到我需要一个组织战略。我去搜索,发现了我(和其他很多人)喜欢的东西:

这也是一个很好的资源:


有一点底漆。让我试着更直接地回答你的问题

1.)Git是一种命令行工具。对于windows,有cygwin。 我发现github的文档是最好的。即使您不打算将它们用于代码托管。查看一下如何使用setupgit链接开始

2.)由于您要求进行版本控制,因此还有一些工作要做。这是一种不同的模式,一种不同的思维方式。与无法编辑当前发生的文件不同,您的提交可能会发生冲突,在这种情况下,git提供了很好的差异工具来帮助解决冲突

3.)Git被称为DCVS或分布式版本控制系统。下面是一个例子: 假设你周末需要做一些工作。在离开工作之前,从服务器上执行git拉取。在家里,你可以继续工作,创建新的分支等,然后当你有一个互联网连接,你可以把你的更改推回到服务器

4.)Git是免费的

至于将您的工作推送到Web服务器,您需要设置如下内容:
看起来很简单,我下周末要试试


我希望你能发现我写的一些东西对你有帮助,如果没有的话,也许是链接。

在编辑器方面,你使用的是纯HTML/JavaScript还是服务器端编码环境?对不起,我没有说清楚。我们有很多PHP形式的服务器端代码。