是否可以在没有shell访问的共享主机上进行版本控制?

时间:2009-03-09 14:12:57

标签: version-control shared-hosting

我有一个主机不允许shell访问的客户端。是否有任何多用户修订控制系统可以在那种情况下工作(在Linux上)?他不愿意改变主机。

7 个答案:

答案 0 :(得分:3)

是的,因为你不直接在生产服务器上进行开发!生产服务器的内容只是源存储库的一个视图,它存放在其他位置以便可以完成工作在单独的开发服务器上。这样,开发服务器上的一个愚蠢错误就不会影响您的生产系统。如果这意味着要进行手动结账以传输文件,那就这样吧。

答案 1 :(得分:2)

不是您正在寻找的答案,而是获得更好的托管服务提供商。您的托管服务提供商是否为您做了一些特殊的事情,这使您想要忍受没有shell访问权限,甚至不只是为您预安装SVN?有很多非常好的主机非常便宜,可以让你安装SVN和shell访问。

答案 2 :(得分:2)

我正是因为这个原因而使用Bazaar。如果服务器支持ftp或ftps,则它支持Bazaar。 http://bazaar.canonical.com/

答案 3 :(得分:1)

我一直在寻找相同的东西,我有一个没有shell访问的托管服务提供商,没有包含源代码控制,也不想改变。

目前,我正在使用git。但是,我没有使用git push来更新远程存储库,而是使用脚本和FTP来更新服务器的副本。

git pull通常可以从任何客户端工作,如果可以通过http访问ftp git目录。

git push replacement:

git update-server-info
perl ftpsync.pl -v .git ftp://ftp.example.com/gitrepo/project.git
  ftpuser=user@example.com ftppasswd=*

使用来自Sourceforge ftpsync page的ftpsync。它是git推送的不完美替代品,它反映了本地回购,而不是将其与遥控器合并,因此请确保本地回购是最新的git pull。

git-ftp声称做同样的事情。 Github的git-ftp page。可能比ftpsync工作得更好,因为它是为此目的而设计的,但我还没有尝试过。

答案 4 :(得分:0)

当然,SVN可以拥有多个用户和多个存储库。当然取决于您的主机是否愿意安装它。如果这不起作用,也许您会考虑在其他地方托管您的版本控制?

答案 5 :(得分:0)

您的意思是您想要在主机上存储版本控制存储库,然后从多个客户端访问它吗?如果是,那么所有现代版本控制系统都可以这样工作。

答案 6 :(得分:0)

我刚刚在Mercurial特定问题上发布了这个答案,但它也适用于此。我使用Mercurial,我找到了一个指南,让我只使用FTP /控制面板访问(没有shell)安装它。

http://javadocs.wordpress.com/2010/04/27/set-up-mercurial-1-5-1-on-a-shared-host-simplified/