繁体   English   中英

大型php / mysql Web应用程序的版本控制

[英]Version control for large php/mysql web application

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

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

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

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

感谢您的时间!

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

由于各种原因将数据库更改添加到版本控制是不正常的(在SO上有关于其他问题的讨论)

如果您正在与其他人合作,或者正在向广泛的世界打开您的代码以下载和使用,您只需要使用GitHub。 然而,上传到GitHub的另一个原因是,如果您的本地计算机上的所有代码和存储库崩溃,您丢失了可以从那里恢复的本地副本。 但是我假设你正在备份?

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

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

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

您可能还想阅读有关使用SVN进行Web开发的文章

我同意其他答案,但如果您想使用git并在远程计算机上使用快速测试部署方法(对于测试目的很有用),您可以试试Gitosis 这是一个简单的git服务器解决方案,只需要在远程计算机上拥有自己的“git服务器”,这对于保留工作的远程备份副本非常有用。

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

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

它看起来比它看起来更容易,而且效果非常好:)

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

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

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

正如Filip所说,您的部署机器上不需要VCS; 那说,用git,你可以提升你的提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM