我应该如何在网站上进行版本控制和离线测试

时间:2012-08-02 11:30:19

标签: php git apache svn

我是狂热的webdev爱好者和自由职业者,直到现在我只是简单地编辑网站(在制作时发布维护信息),现在我所有的项目到目前为止还非常小。

例如,我制作一个网站,展示他们,拿钱然后去,我从来没有在网站上线后工作。

现在我的新项目非常大,我知道我必须在它上线后编辑它,并且可能有一个小团队的开发者(atm只是我)

那么人们如何专业地处理这个问题呢?我知道我需要一个前缀放大器应用程序我运行一个apache服务器,我也听说人们使用github进行版本控制,但我不确定,因为显然它不是svn?

由于

PS。我有一个Windows 7个电脑,所以没有mac应用程序

4 个答案:

答案 0 :(得分:6)

  

到目前为止我只是简单地编辑网站

我的书太可怕了;)

  

那么人们如何专业地处理这个问题?

首先,您需要设置一个开发服务器(最好尽可能保持它与预期的实时环境尽可能接近)。在此服务器上,您将安装所需的所有软件。

您可能还想设置一个临时服务器。

  

我知道我需要一个前缀放大器应用程序

我希望你不要谈论那些单击安装程序。如果你是专业的,你应该自己安装所有东西,你可以按照你需要的方式设置它。

  

我也听说人们使用github进行版本控制,但我不确定,因为它显然不是svn?

GitHub只是一个网站。您正在寻找的是用于版本控制的git或svn。您也可以在本地设置git或svn服务器,而不是使用像GitHub这样的服务。基本上版本是什么,当有人对代码进行更改时,他/她将需要提交更改。通过这种方式,可以轻松跟踪代码库中的更改(例如更改内容,更改时间以及由谁更改)。

答案 1 :(得分:3)

  • 用于开发的本地XAMP堆栈(LAMP或WAMP)
  • 内部网系统进行测试,可能是暂存
  • 当然是实时系统
  • Versioncontrol,我更喜欢git。当然你也可以使用SVN,但是......让我们说:它是SVN。
  • 在本地进行更改,测试此更改本地
  • everythings fine:将其推入“master”vcs-repository
  • 准备好新版本(或者是“星期日晚上发布时间”)?在test / stage上推送所有内容
  • 那里的每件事都很好:将它推入实时系统

这当然很短,但它应该给你一个想法。

答案 2 :(得分:1)

管理软件版本的工具并不重要。使用Git,或SVN或其他任何你最喜欢的人。但使用 _one_。

同样重要的是你在两个站点上运行“页面”,一个测试和一个实时系统,严格分开。两个系统的布局必须非常接近,所有更改必须首先在测试系统中完成,然后在实时系统中以相同方式进行验证和完成。不允许仅对实时系统进行更改(因为它只是一个小小的更改)。没有例外。

然后考虑部署:如何将更改的文件传输到目标系统?你需要这样的例程,一旦开始运行,不要忘记介于两者之间的步骤。

答案 3 :(得分:1)

首先你需要某种版本控制系统:SVN或Git。 GitHub只是一个提供托管Git存储库的在线服务。其次,您需要一个开发服务器。

如果只是你在进行开发,你可以在本地桌面PC上托管这两个,但由于其他开发人员将要加入,你需要一个远程服务器。如果您不想在家外运行服务器,最好的选择是VPS(虚拟专用服务器),您可以在其上安装Git,Apache等以及您需要的任何其他内容。

至于开发软件,请选择 - 有很多选项。一个常见的选择是NetBeans IDE和TortoiseGit组合。您可以使用NetBeans开发代码,自动上传到开发服务器,然后使用TortoiseGit提交和同步更改。

只有当您准备好上线时,才能将代码从开发服务器复制到生产服务器。