我已经听说了很多关于使用版本控制系统的优点,并想尝试一下。在过去的两年里,我一直在做PHP的自由web开发,两个月前我又雇了两个程序员来帮助我。我很快就会再雇一个人。我们维护着4个网站,所有这些都是我自己的,都是由我们中的一个人不断编辑的。我是自学PHP的,从未在其他公司工作过。因此,我对版本控制、单元测试和所有这些都是新手。
目前,我们的工作站上有开发服务器。当我们编辑站点的特定部分时,我们将该特定部分的代码(例如/news/或/movies/或/wallpapers/ )从生产服务器下载到开发服务器,在本地进行更改并上载到生产服务器(无代码审查/测试)。正因为如此,我们的dev服务器对于我们的prod服务器总是过时的。有时,当我们中的一个忘记从prod下载最新的副本并覆盖最后的更改时,这也会产生问题。我知道这非常非常愚蠢,但目前我们的prod服务器是唯一包含所有更新和最新更改的副本。
有没有人能推荐给我最好的版本控制系统?我对分布式版本控制更感兴趣,因为我们没有为所有代码提供集中备份。我读过关于Mercurial和Git的文章,发现Mozilla、Sun、Symbian等几个大型开源项目都使用了Mercurial,那么您认为哪个更适合我呢?不仅是版本控制,如果还有其他包可以让我的当前设置变得更好,请也提出来:)
发布于 2010-05-02 14:19:08
听起来Git可以很好地实现你的目标。因为它是分布式的,所以它非常适合在本地工作,因为您可以执行大多数操作(提交、恢复、比较、修补),而无需连接到中央服务器。您还可以避免这样的丑陋时刻:有人将新代码推到生产环境中,而其他人正在处理它,然后又有将这两个版本的代码合并在一起的复杂任务(git提供了一个称为rebase的有用工具)。
您注意到有一些大型项目使用Hg (Mercurial),但也有一些大型项目使用Git,比如Linux Kernel、X.org、安卓和Debian。
我在我所有的网站上都使用git :它闪电般快速、高效且易于使用。
编辑:如果你想开始使用Git,我建议你在开始之前先阅读一些东西。一开始就走错了路,以后可能会有一些可怕的影响。如果你遵循敏捷工作流程,你可能想看看this。Here's是一个网站,我大部分的Git知识都是从这个网站学来的。
发布于 2010-05-02 14:11:36
版本控制是一个令人难以置信的工具,即使你一个人在工作,当你和别人一起工作时,它也是不可或缺的。我推荐使用git。它非常快,有一套非常好的工具,当然还有github.com。Mercurial基本上和git一样好,但它的运行速度稍慢,而且没有github。
有关使用git的原因,请阅读http://whygitisbetterthanx.com/
这里有一个关于git入门的漂亮教程:http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html
发布于 2010-05-02 14:07:20
你可以使用SVN,Git,Mercurial。
最大的挑战是让每个人都遵守使用版本控制的纪律,而不是变得懒惰。
https://stackoverflow.com/questions/2752606
复制相似问题