Web开发;没有服务器源控制支持

时间:2013-04-21 21:57:32

标签: php git codeigniter svn version-control

我正在使用CodeIgniter PHP框架开发Web应用程序。我正在使用的服务器不支持任何类型的源代码控制(即Subversion),除非你去更高的价格层。

我仍然希望将代码置于某种源代码控制之下。执行以下操作是否有意义:

  1. 在我的本地计算机上安装git或SVN并在那里开发
  2. 将更改从本地计算机复制到服务器上的开发目录(使用FileZilla,WinSCP等)并测试
  3. 将更改从开发目录复制到服务器上的生产目录
  4. 听起来合理吗?还有更好的选择吗?谢谢!

3 个答案:

答案 0 :(得分:2)

如果你在本地使用svn它有点危险,因为那时你还需要保护你的计算机 - 我认为最好的方法是使用商业网站提供完全支持的svn / git - 如http://www.beanstalkapp.com/http://www.github.com

答案 1 :(得分:1)

您可以在本地计算机上使用源代码控制(SVN,Git等),并使用像Capistrano这样的开源工具,通过SSH将代码从本地源代码控制存储库部署到服务器。或者,如果您仅限于FTP,则blog post有一个潜在的解决方案。

使用像Capistrano这样的工具而不是通过FileZilla或WinSCP直接将本地计算机上的文件镜像到服务器的优点是Capistrano将版本部署的文件,这样,如果你最终破坏某些内容并需要快速回滚到以前部署的版本,它可以像将符号链接更改为以前的部署目录一样简单。

答案 2 :(得分:1)

  

听起来合理吗?

部分地,在第1页。但即使在这种情况下,我也建议你的存储库也在一些Repository-Hosting(BitBucket,GitHub,Assembla)

对于第2-3页:您的部署必须是自动且非交互式的 - 因此 - 您必须选择其他工具(用于在SCM-of-choice的提交后挂钩中使用)

以某种方式更好的替代2-3可能是:

  • 使用2个不同的分支(DEVEL和PROD)作为DEVEL和PROD目录的来源
  • 提交后挂钩,将仅在已提交的修订文件中更改为相应的目录(用于FTP的NCFTP,用于ssh的方案的SCP)
  • 主要开发发生在DEVEL分支
  • PROD与DEVEL
  • 之间只有合并

工作流与SCM无关,可扩展到任何合理数量的分支机构和开发人员