我是一名PHP/MySQL开发人员,除了复制/粘贴到备份文件夹外,还没有使用任何形式的版本控制。我也在Windows环境中开发。我应该去哪里,以及如何开始使用版本控制和控制软件?我需要开始使用版本控制和源代码管理
我很好奇,这些方法是否也适用于您正在使用的数据库及其模式?
我是一名PHP/MySQL开发人员,除了复制/粘贴到备份文件夹外,还没有使用任何形式的版本控制。我也在Windows环境中开发。我应该去哪里,以及如何开始使用版本控制和控制软件?我需要开始使用版本控制和源代码管理
我很好奇,这些方法是否也适用于您正在使用的数据库及其模式?
Subversion。它的固体,你可以使用TortoiseSVN作为Windows中的客户端(如果你在Windows上)。 Eclipse也有很好的颠覆支持。
我对数据库问题不够了解,但至少可以使用版本化的sql导出。
编辑:颠覆,和TortoiseSVN都是免费的:-)
有一个类似Linux的port'of TortoiseSVN的所谓Subdiversvn,但我没有用它,许多
我选择的个人工具的Windows是TortoiseSVN,它是Subversion的GUI前端。如果您对命令行界面没有任何帮助(或参见用于Git GUI的this),则还可以使用Git。
至于数据库版本控制,我使用自己的名为Wizardby的工具 - 它支持几乎所有我需要的东西,包括原生SQL。
如果我开始新鲜的话,我会看看像mercurial,git或bazaar这样的新一代分布式版本工具。 Here is a decent write git vs mercurial vs svn。
我你是唯一一个在源码上工作的人,我会推荐使用git或mercurial。与SVN不同,不需要建立服务器。如果你在Windows上开发,我会推荐使用TortoiseHg。
同上Subversion的TortoiseSVN。我还建议使用托管的SVN存储库,如google code或xp-dev。
我已经从Subversion切换到Git。分支对我很重要,Git的分支支持是无与伦比的。我主要使用Windows GUI和命令行。
此外,它绝对适用于数据库模式。将所有DDL更改保留为文本文件并对其进行版本控制。我曾经在一个大型的Sybase数据库上工作,如果不从备份磁带恢复和清理表,DBA无法复制。他们没有DDL从头开始创建数据库,即使他们做了(有几个工具可以生成它),他们还没有设置为无论如何处理版本控制。
如果你是新来源控制我会首先阅读有关basic concepts。
Subversion(SVN)可能是您唯一需要知道的唯一源代码版本控制软件。 TortoiseSVN是一个很好的Windows客户端。
对于数据库模式,我通常会做的是创建一个名为“db”的子文件夹,并将所有模式放在那里。无论是MySQL,甲骨文,MsSQL等我然后检查文件夹到SVN。
您可能也希望在该文件夹中拥有架构升级脚本。
以下是关于process of using Subversion in a development workflow的全面而易用的博客文章。
至于设置您的存储库和处理部署,您可以尝试一个Subversion托管服务,如Springloops或Beanstalk。那些使这个过程小菜一碟。这里有一个彻底的排序list of Subversion Hosts。
和OS X svn支持版本 - http://versionsapp.com/ – 2009-07-16 12:53:06
确保您在首先跳转之前了解Subversion分支支持的局限性。 – 2009-07-16 12:59:25
这将有助于http://svnbook.red-bean.com/ – 2009-07-16 13:02:05