使用subversion for PHP进行集成开发

时间:2011-10-11 16:10:08

标签: php svn

我们是同一个项目的团队中的两个人。我在MAC上,另一个在PC上。我之前从未使用过SVN。关于SVN的谷歌搜索让我对svn有了基本的了解。而我所理解的是应该在客户端机器中安装subversion(我不知道哪个客户端,我假设有很多类似的版本和mac的基石,用于windows等的龟,我需要一个存储库,我将托管集中版本应用程序。客户端将获得代码或文件的副本,他们可以将更改提交到存储库(主应用程序)。如果需要可以撤消。但是我不明白的是,因为我们的PHP代码使用数据库(在我的情况下是mysql)它是如何由SVN客户端管理的?

最后,我希望我的开发环境能够通过以下方式实现。

  1. 我想将我的mac设置为SVN的开发服务器 我希望在使用SVN的同一台机器上工作。

  2. PC应该从MAC访问存储库并提交更改。

  3. 所有设置都应该通过LAN在本地完成并实现。如果我对svn的理解错了,请纠正我,并指导我在机器上安装所需的要求和资源,以便我为我的项目使用SVN。

    谢谢..

2 个答案:

答案 0 :(得分:2)

  1. 您可以将Mac用于托管SVN存储库,也可以将其用作客户端来检出您的工作副本。看看this链接(它稍微陈旧但你会得到主旨)。

  2. 完成SVN存储库设置后,您可以在其上启用HTTP访问权限,以便您的合作伙伴可以签出副本并提交对其的更改。查看如何为存储库启用HTTP访问的here

  3. 大多数现代PHP框架使用迁移脚本来帮助构建和维护数据库模式,如果可能的话,使用框架。看看其中一个灵感框架的迁移脚本(即如果你不能使用框架)。引导下的迁移脚本会触发create tablealter table命令,您所做的就是将迁移文件添加到SVN存储库,以便对数据库模式进行版本控制。

  4. 在Mac上托管SVN存储库的一个警告是,由于某种原因,如果它失败,您的合作伙伴会因为无法提交代码更改而无法检出新更改而卡住。请查看此thread免费在线私有SVN存储库。如果您想要付费路线GitHub.com很棒。

答案 1 :(得分:1)

我自己开发并使用http://www.springloops.com上托管的存储库。在这里,我只是将数据库导出到文本文件,并在那里保持对数据库的历史更改。显然,除非您在记录数据库更改时协调良好,否则这不适合在项目上一起工作的团队。

这个问题看起来很有用MySQL Version Control - Subversion虽然它特定于mysql颠覆 - 但不是你更广泛问题的答案。

每台机器都应该有相关的客户端软件,我推荐Tortoise SVN用于Windows - 它非常受欢迎。一定有类似的替代SVN Client for OSX,你可以动手。