【问题标题】:Version control for large php/mysql web application大型 php/mysql Web 应用程序的版本控制
【发布时间】:2010-02-26 07:29:00
【问题描述】:

我正在开发一个大型 php/mysql 应用程序,并且我已经到了必须使用某种版本控制的地步。我已经阅读了几篇关于 GIT 的文章,但我无法弄清楚最好的方法是什么。

我有一个使用 PLESK 运行 CENTOS 的专用服务器。我主要在你使用 XAMPP 的本地机器上开发。

如果我想使用版本控制,我应该将它安装在使用 PLESK 的服务器上,还是应该将它安装在我的本地机器上。这是否也会记录我所做的数据库更改。

我质疑的另一件事是 github 的使用。我是否仍应将更改上传到集线器,还是需要在存储源文件的服务器上创建自己的位置。

感谢您的宝贵时间!

【问题讨论】:

    标签: svn git version-control


    【解决方案1】:

    正常的程序是使用版本控制来开发您的软件。当您有一个需要进入测试或实时服务器的版本时,您可以将代码从存储库部署到测试/实时服务器。 如果您使用的是 GIT,那么它只需要在您的机器上,因为这就是 GIT 的设计方式,作为分布式版本控制系统。如果您使用的是 Subversion,那么它很可能位于远离您机器的服务器上。但是,在这种情况下,您仍会以相同的方式进行部署。

    由于各种原因,将数据库更改添加到版本控制中是不正常的(在 SO 的其他问题中对此进行了讨论)

    仅当您与其他人合作或将您的代码向全世界开放以供下载和使用时,您才需要使用 GitHub。然而,上传到 GitHub 的另一个原因是,如果您的本地机器与所有代码和存储库崩溃,并且您丢失了可以从那里恢复的本地副本。但是我假设你正在做备份?

    编辑 - 添加 有一个 free book 处理 git,但要在下面处理,您添加一个名为 gitignore 的文件,并在其中添加存储库中不需要的文件模式。所以你在目标服务器上有本地配置文件和远程配置文件,但它们不会被覆盖,因为你的本地文件不在存储库中

    【讨论】:

    • 是的,我正在在线和离线进行各种备份。所以如果我理解这个正确的程序如下。 pc -> git 和完成后 git -> 服务器。 git 是否保存服务器的设置,或者我应该手动上传并覆盖服务器文件。
    • 后者。出于这个原因,我从不将设置文件本身添加到 SCM 中,而是添加一个模板。
    【解决方案2】:

    您不需要在部署机器上进行版本控制,拥有一个使用开发机器连接到的 SVN 存储库就足够了。当当前的构建/发布准备好投入生产时,您只需上传/部署它。

    您的生产服务器上不需要 SVN 客户端。

    您可能还想阅读这篇关于 Using SVN for Web Development 的文章。

    【讨论】:

      【解决方案3】:

      我同意其他答案,但如果您喜欢使用 git 并在远程机器上使用快速测试部署方法(用于测试目的),您可以尝试 Gitosis。 这是一个简单的 git 服务器解决方案,简单地说,您可以在远程机器上拥有自己的“git 服务器”,用于保存您工作的远程备份副本。

      您可以在本地提交更改或将它们推送回远程计算机。

      在远程计算机上,您还必须在您将用于项目的目录中克隆存储库...

      这比看起来容易,而且效果很好:)

      【讨论】:

        【解决方案4】:

        使用 git,您不需要服务器。使用 git 的任何文件夹,即运行 git --init,都会成为 git 存储库并将所有版本信息存储在该目录的子文件夹 .git 中。

        Github 用于开源项目之间的协作 - 在中心位置托管存储库的裸副本 - 裸副本只是没有工作树的 .git 文件夹。

        至于能否处理mysql数据库内容; git 可以跟踪二进制文件,但 mysql 通常将其数据与应用程序的源文件夹分开存储,因此这可能很难做到。

        正如 Filip 所说,您的部署机器上不需要 VCS;也就是说,使用 git,您可以只推送您的提交。

        【讨论】:

          猜你喜欢
          • 2011-10-11
          • 1970-01-01
          • 2014-03-25
          • 2010-09-06
          • 1970-01-01
          • 1970-01-01
          • 2014-10-26
          相关资源
          最近更新 更多