Git(主持人)+共享webhost - 工作流程?

时间:2010-12-08 15:58:32

标签: git workflow shared-hosting

我有这个非常好的虚拟主机,我非常喜欢,我想留在那里。 我有这个非常好的git好奇心可以使用,所以GitHub是可以去的地方。

不幸的是,主机不支持git或任何其他subversion系统。

我的问题是: 如何在一些开发工作流程下结婚? 文件将在webhost上,gitHub上的“git repository”可以这样做吗?

更新: 我相信主机不提供shell访问权限。 (还没有确定)。 如果他们支持,我应该问什么?

非常感谢,
MEM

4 个答案:

答案 0 :(得分:1)

如果主机为您提供shell访问权限:

git clone <your repo>

如果你有shell访问而不是git,你可以在你的用户目录中编译git。

否则,您可以设置一个推送到您的ftp /....

的git-hook

以下是git hooks的指南:http://book.git-scm.com/5_git_hooks.html 您将它设置在您自己的目录中,以便它发出命令以推送到您的ftp

答案 1 :(得分:1)

由于您的主机不支持Git,因此您必须在部署策略方面获得一点创意。对于开发,你应该很好,因为你的开发机器可以从gihub推/拉。

您可以使用下载功能从Github部署到Web服务器。当您准备部署版本时,请标记您的repo并将标记推送到github(git push --tags)。在github上,这将创建一个下载tarball。从您的webhost,只需将此下载文件下载到您的目录中,然后将其解压缩到提供网页的目录。您可能需要复制不在存储库中的配置文件。

您也可以使用git bundle command完成所有这些操作。

答案 2 :(得分:1)

钩子的一个潜在替代方法是https://github.com/ezyang/git-ftp,这是一个从本地机器运行的脚本,通过仅上传已更改的文件,可以减少对FTP的处理压力。我会继续使用GitHub(或其他git托管解决方案)进行备份/协作,但您也可以使用git-ftp“部署”到共享的Web主机。

单独注意:虽然我理解您希望坚持使用共享的网络主机,但我强烈建议您考虑在某些时候升级到VPS或类似网站。在我的VPS上使用git(并使其成为我的工作流程和部署策略的一部分)可以节省小时的工作量。一旦你开始学习如何利用它,即使是单独的shell访问也可以大大加快速度。

也许您的共享网络托管服务商也提供VPS计划?

答案 3 :(得分:0)

如果您有shell访问权限,可以在github.com上编写自定义的post-receive hook。部署的代码应该从webroot外部的另一个目录进行符号链接,并且在每次部署之后,您可以将符号链接更改为上次更新的代码。确保您没有上传.git文件夹或确保apache不提供这些文件。