当我的工作副本需要在没有SSH访问权限的共享主机上时,如何利用源代码管理?

时间:2011-08-06 03:58:38

标签: version-control shared-hosting

我正在尝试开发一个小玩具PHP项目,并且运行它的最方便的位置是我碰巧拥有的不良博客的共享主机。这个问题是我无法在这个共享主机上运行Subversion,我甚至没有SSH访问权限来从主机访问外部存储库。如果几个月前主持人正在进行续约时我一直在思考,我可能应该多付一些钱来换一些更好的东西,但是现在我不能为第二个主机投入资金而辩解对于辅助项目。

这意味着我的项目的工作副本需要签出到我的笔记本电脑,而项目本身需要上传到共享主机才能运行。我最好的选择似乎是创建一个运行Linux的虚拟机,并从那里开发所有东西,但我从过去的经验中知道,创建的额外障碍,尽管可能很小,但足以让我放弃启动VM我做了几分钟的工作,做了一些小改动。我更喜欢能够启动我的编辑并开始工作。

虽然我想我不是第一个遇到这样的问题的人,但我并没有在网上找到解决方案。也许除了VM或“手动镜像”选项之外没有其他选项,但如果有,我希望StackOverflow成为找到它的地方。


编辑:似乎有一些混乱,所以让我试着澄清一下。 此处的共享主机基本上是我的开发服务器,但它没有svn或ssh。换句话说,我可以svn checkout到我的笔记本电脑,但我无法在我的共享主机上运行它。同样,我可以在共享主机上运行/测试我的代码,但我不能在我的笔记本电脑上执行此操作(嗯,我在技术上可以,但它是Windows,我不想担心Win-vs.-Linux与PHP的差异,因为我确实希望它在某些时候变得公开,并且在那时肯定会基于Linux)。

1 个答案:

答案 0 :(得分:1)

您可以考虑编写一个post-commit hook来自动将代码上传到您的主机,这样每当您提交更改时,脚本都会执行以下操作:

  • 将代码副本签出到临时目录
  • 通过FTP(或您喜欢的任何方法)将该代码上传到共享主机
  • 自行清理,可选择通过以下方式通知您:转移成功时发送电子邮件

Subversion在运行时为这些脚本提供了足够的信息,您可以获得更复杂的信息,并且只选择根据特定的属性更改上传更改或更改行为的文件,但是对于小项目来说,蛮力&# 34;复制全部"方法应该没问题。