我需要开始使用版本控制和源代码控制

时间:2009-07-16 12:49:13

标签: php mysql version-control

我是一名PHP / MySQL开发人员,除了复制/粘贴到备份文件夹之外,没有使用任何形式的版本控制。我也在Windows环境中开发。我应该去哪里,以及如何开始使用版本控制软件?

我很好奇,这些方法是否也适用于您正在使用的数据库及其架构?

10 个答案:

答案 0 :(得分:8)

颠覆。它坚实,你可以使用TortoiseSVN作为Windows中的客户端(如果你在Windows上)。 Eclipse也有很好的颠覆支持。

我对数据库问题知之甚少,但至少你可以使用版本化的sql导出。

编辑:Subversion和TortoiseSVN是免费的: - )

TortoiseSVN的类似linux'端口'名为Subdiversvn,但我没有那么多使用

答案 1 :(得分:3)

我是唯一一个使用git或mercurial的人。与SVN不同,不需要设置服务器。如果您正在使用Windows开发,我会向TortoiseHg推荐mercurial。

答案 2 :(得分:3)

如果您不熟悉源代码控制,我首先要先阅读basic concepts

答案 3 :(得分:2)

我选择的Windows个人工具是TortoiseSVN,它是Subversion的GUI前端。如果您对命令行界面没有任何帮助,也可以使用Git(或者参见Git GUI的this)。

至于数据库版本控制,我使用自己的工具Wizardby - 它支持我需要的所有东西,包括原生SQL。

答案 4 :(得分:1)

取决于您正在开发的内容以及您在何处/如何开发。如果你正在开发并经常移动我会使用像GIT / Mercurial这样的分布式源控件,或者如果你总是从同一个地方开发它们并且总是可以访问你的存储库那么我会推荐{{3} }

答案 5 :(得分:1)

Subversion(SVN)可能是您需要了解的唯一源版本控制软件。 TortoiseSVN是Windows的一个不错的客户端。

对于数据库模式,我通常做的是创建一个名为“db”的子文件夹,并将我的所有模式放在那里。无论是MySQL,Oracle,MsSQL等,然后我将文件夹检入SVN。

您可能也希望在该文件夹中使用架构升级脚本。

答案 6 :(得分:0)

如果我刚刚开始,我会看一下像mercurial,git或bazaar这样的新一代分布式版本工具。 Here is a decent write git vs mercurial vs svn。

答案 7 :(得分:0)

与Subversion在TortoiseSVN上同上。我还建议使用托管的SVN存储库,如google codexp-dev

答案 8 :(得分:0)

我已经从Subversion切换到Git。分支对我很重要,Git的分支支持是无与伦比的。我主要使用Windows GUI,偶尔使用命令行。

此外,它绝对适用于数据库模式。将所有DDL更改保留为文本文件并对其进行版本控制。我曾经在一个大的Sybase数据库上工作,如果没有从备份磁带恢复并清理表,DBA无法重现这个数据库。他们没有DDL从头开始创建数据库,即使他们这样做(有几个工具可以生成它),他们也没有设置为处理版本控制。

答案 9 :(得分:0)

以下是process of using Subversion in a development workflow上的完整且易于访问的博文。

至于设置存储库和处理部署,您可以尝试使用SpringloopsBeanstalk等Subversion托管服务。那些使得这个过程变得轻而易举。这是一个彻底的可排序list of Subversion Hosts