最近我创建了一个基于PHP / MYSQL的网站,网站将在未来几周内上线,我的导师让我设置一个开发网站和一个实时网站,进行更改&测试dev上的新功能,然后将它们上传到实时。
我可以这样做,但这似乎是一个艰难的过程,因为我会在这里进行更改,并将它们手动上传到实时服务器。在上传时,我可能会遗漏一些文件或依赖项。
我认为有一种SVN类型的工具可以管理开发和实时服务器同步。万一我会错过任何文件,它会突出显示我这个文件尚未在现场等同步。此外,它将每天维护我的live和dev网站的版本,如果出现任何问题,我们可以提前获得版本
我不完全清楚什么是SVN,如何设置它以及如何使用它。请问各位,请指导我如何设置它以及如何使用它。哪个SVN软件会很好。
我的服务器配置是:它的LAMP工具(Ubuntu) 我使用Windows作为本地系统进行更改(dreamwaver cs5)并将其上传到FTP。
感谢。
答案 0 :(得分:2)
我有一个类似的配置来管理许多客户端的开发,登台和部署。我们仍然使用SVN,因为它本身支持得更大,而且它也集成在简单的开发人员工具上,例如CODA(我们也在使用GIT,但我们计划在GIT中将Web应用程序部署集成到那种编辑)。
在客户端(开发人员方面),您可以使用任何SVN可视客户端,如Versions(OSX)。
在服务器端,我们开发了一个自定义php应用程序来控制服务器上的每个工作副本并运行新的更新SVNDeploy,否则你只需在服务器上ssh并运行自定义更新。
如果您将遵循SVN建议的repositoy结构
/tags
/trunk
/branches
您可以通过以下方式轻松管理部署:
/trunk
文件夹/branches
下的开发快照(如/branches/2.0-dev
等)/tags
下的旧发布版本(如/tags/1.0
,/tags/1.5
等)我们在过去3年中使用了5台服务器和大约25名开发人员的配置,从现在起它运行良好。
配置您自己的subversion服务器的一些有用链接:
http://svn-ref.assembla.com/subversion-server-guide-mac-os.html
http://aymanh.com/subversion-a-quick-tutorial
答案 1 :(得分:0)
看看Mercurial。
YouTube上有几个视频可供您观看,以了解Mercurial的全部内容。 (Start here.)