svn - 大型 php/mysql web 应用程序的版本控制

标签 svn git version-control

我正在开发一个大型 php/mysql 应用程序,我已经到了必须使用某种版本控制的地步。我已经阅读了几篇关于 GIT 的文章,但我看不出什么是解决这个问题的最佳方法。

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

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

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

感谢您的宝贵时间!

最佳答案

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

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

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

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

关于svn - 大型 php/mysql web 应用程序的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340080/

相关文章:

java - 在 Intellij-IDEA 中执行 svn 提交之前如何运行命令?

git - 没有瓷器的基本 Git?

git - 尝试执行基本 git 操作时获取 "Vim: Caught deadly signal ILL"

git - 樱桃选择 merge

Eclipse 结帐后更改项目设置时间戳注释

eclipse - 将现有的SVN项目导入Eclipse

delphi - 读取SVN :externals from working copy

svn - 如何设置 Continuum 以构建 svn 提交?

git - 更改 Git 远程 'push to' 默认值

java - 如何在构建步骤中配置自动提交