2009-07-16 50 views
3

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

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

回答

8

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

我对数据库问题不够了解,但至少可以使用版本化的sql导出。

编辑:颠覆,和TortoiseSVN都是免费的:-)

有一个类似Linux的port'of TortoiseSVN的所谓Subdiversvn,但我没有用它,许多

+6

和OS X svn支持版本 - http://versionsapp.com/ – 2009-07-16 12:53:06

+0

确保您在首先跳转之前了解Subversion分支支持的局限性。 – 2009-07-16 12:59:25

+0

这将有助于http://svnbook.red-bean.com/ – 2009-07-16 13:02:05

2

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

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

0

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

3

我你是唯一一个在源码上工作的人,我会推荐使用git或mercurial。与SVN不同,不需要建立服务器。如果你在Windows上开发,我会推荐使用TortoiseHg。

0

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

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

1

取决于你正在开发什么以及你在哪里/如何开发。如果您正在开发的东西,并不停地移动,我会用一个分布式源控制像GIT /水银或者如果你总是从同一个地方发展他们可以随时访问你的版本库,那么我会建议SVN

1

Subversion(SVN)可能是您唯一需要知道的唯一源代码版本控制软件。 TortoiseSVN是一个很好的Windows客户端。

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

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