【发布时间】:2010-04-14 04:10:31
【问题描述】:
我对此并不陌生,我只是在阅读有关我不应该如何在实时生产服务器上编辑代码的信息。我对源代码控制或 SVN 一无所知。
我想在测试服务器上开始编码,然后一旦确认一切正常,我想将所有文件发送到生产服务器。
我应该怎么做?我在 mac os x 上,正在研究像 http://versionsapp.com/ 这样的应用程序,但我不确定这是否是正确的解决方案。
你有什么建议?
【问题讨论】:
标签: php deployment
我对此并不陌生,我只是在阅读有关我不应该如何在实时生产服务器上编辑代码的信息。我对源代码控制或 SVN 一无所知。
我想在测试服务器上开始编码,然后一旦确认一切正常,我想将所有文件发送到生产服务器。
我应该怎么做?我在 mac os x 上,正在研究像 http://versionsapp.com/ 这样的应用程序,但我不确定这是否是正确的解决方案。
你有什么建议?
【问题讨论】:
标签: php deployment
如果您是 Web 开发新手,我不建议您立即使用 Subversion。在任何生产环境中实际使用 Subversion 之前,您应该牢牢掌握它,因为它非常容易搞砸。不过,不要让这把你吓跑,因为版本管理(无论是通过 SVN 还是其他途径)非常有用。
如果所讨论的项目足够小,我认为旧的“在本地开发,然后通过 ftp 传输到服务器”方法没有任何问题。有时根本不需要成熟的版本管理工具。
【讨论】:
SVN 部署策略是否合适取决于诸如站点大小、您对使用命令行的熟悉程度以及您是否作为团队的一员工作等因素。
值得注意的是,在大多数共享托管环境中,您将无法选择在服务器上安装 SVN,这会在一定程度上缩小您的选择范围!
我认为使用良好的老式 FTP 将文件上传到服务器本身并没有什么坏处,尤其是对于只有您在网站上工作的小型网站。
即便如此,SVN 仍然非常有用。我将所有网站都置于版本控制之下,即使它们将通过 FTP 部署。
【讨论】:
只需使用 SVN,因为它是基础。尝过之后,您可以探索 GIT 之类的替代方案。
您应该通过控制台学习基本的 SVN 工作,没有其他方法,尤其是如果您要在实时服务器上工作。您的实时服务器应该安装了 SVN 和一些 SSH 访问权限,以便您可以在那里执行您的 SVN 命令。
您还可以获得TortoiseSVN,这是一个很好的 SVN 可视化客户端。
您要使用的基本 SVN 是这 3 个命令:
$ svn co # Checkout
$ svn ci # Commit
$ svn up # Update
有很多关于如何做事的教程,这是来自 google 的第一个: http://paulstamatiou.com/how-to-subversion-basics
在您对这些东西感到满意之后,当您开始与团队合作并为公共存储库做出贡献时,您可能会开始探索高级的东西,例如分支、标签和所有其他让一些人在提及它们时感到重要的术语。
这个 versionwhatever.com 我现在会持有并探索流行的选择,然后专门研究,特别是 SVN 在 UNIX 上运行,您可以将它放在运行大多数网络托管的 Linux 上。
干杯!
【讨论】: