使用Git与共享主机方案

时间:2012-04-26 12:33:31

标签: php git deployment ftp shared-hosting

所以我开始使用Git与this workflow一起创建个人网站(主要用于测试和学习Git),我正在使用Xampp在笔记本电脑上本地开发它。

但是现在我想公开这个网站并将其上传到我的网络服务器。问题是,我使用共享主机方案,这意味着我只能访问我的网站目录。无法使用SSH或安装Git或其他任何东西..

我想将网站和任何更新部署到该网络服务器,但我想知道Git是否可以通过FTP访问?如果没有,那么更新我的网站的建议是什么?手动拖动文件通过Filezilla可能会有点乏味。

6 个答案:

答案 0 :(得分:33)

如果您没有远程服务器的SSH访问权限且托管服务提供商不提供git部署功能,您将无法使用git直接部署。

但是,无论远程选项如何,跟踪源代码始终是个好主意。

在您的情况下,自动化发布过程的一个很好的替代方法是使用您喜欢的编程语言(Ruby,Python,Bash ...)创建一个简单的部署脚本,该脚本从您的git存储库加载已更改文件的列表。通过FTP上传这些文件。

git-ftp的简单搜索显示,已经有两个项目似乎按照我的建议进行:

答案 1 :(得分:1)

如果您处于共享主机方案中,那么托管您自己的git服务器并不是一个好主意,因为您将同时拥有空间和带宽限制。您可以留意其他选项,例如github,或者如果您想拥有私人托管,则可以bitbucket

答案 2 :(得分:0)

我也听说过/读过(但尚未尝试过)共享主机上的git可用性是资源密集型的,所以管理员不愿允许......

但是如果你想尝试......

http://joemaller.com/908/how-to-install-git-on-a-shared-host/#hosting

答案 3 :(得分:0)

也许想一下不同的托管设置?

  1. 在VPS上你有更多的自由,但你需要自己设置一切。
  2. 在云PaaS上,您将获得出色的技术,但需要多花一点钱。
  3. 如上所述:具有ftp部署选项的私有repo主机也可能有效。
  4. 对我而言,最佳生产力是最重要的。将网络托管的成本与网站开发的成本进行比较。

答案 4 :(得分:0)

如果服务器上安装了git(例如<?php $last_line = system('git --version', $retval); ?>),但您没有SSH访问权限,请尝试php-git-bundle

答案 5 :(得分:0)

这个问题可能很旧,但有一个共享的网络托管,提供git部署选项和对git pull / push等的SSH访问:githoster.com

或者您可以在google中搜索一些脚本,这些脚本会使用git hook将您的github帐户链接到您的主机。