2010-11-17 33 views
1

我有这个存储库,我想分享,但不一定把它放在github或其他Git托管服务提供商。在网络上提供商发布Git回购(无壳)

我的网站托管在一个提供商(OVH)只提供FTP访问,没有ssh或shell可用。

我的问题是:是否有可能使这个提供者可用的只读git仓库,只使用http?

如果是,如何?然后,如果我想将此repo克隆回到我的桌面,那么将发出什么命令?

谢谢!

回答

4

更新:

又见Git Book - Setting up a public repository

所有你需要做的是放置在由Web服务器导出目录的新创建的裸git仓库,并提出一些调整为网络客户提供一些他们需要的额外信息:

$ mv proj.git /home/you/public_html/proj.git 
$ cd proj.git 
$ git --bare update-server-info 
$ chmod a+x hooks/post-update 

通告proj.git的URL。然后其他人应该能够像一个命令行克隆或从该网址拉,例如:

$ git clone http://yourserver.com/~you/proj.git 

它应该只创建一个裸Git仓库中工作,并把它放在你的网站。 git可以处理http网址。请参阅git-clone

通常,URL包含有关传输协议,远程服务器地址和存储库路径的信息。根据传输协议,这些信息可能不存在。

Git本身支持ssh,git,http,https,ftp,ftps和rsync协议。如下语法可以与它们一起使用:

SSH:// [用户@] host.xz [:端口] /path/to/repo.git/

GIT中://host.xz [:端口] /path/to/repo.git/

HTTP [S]://host.xz [:端口] /path/to/repo.git/

FTP [秒]://主机.xz [:port] /path/to/repo.git/

rsync://host.xz/path/to/repo。混帐/

+0

会做,谢谢。 – Gui13 2010-11-17 12:17:10

+0

我还需要在chmod之前重命名:mv hooks/post-update.sample hooks/post-update,我不知道这通常是否正确,但可能值得添加它。 – cmaglie 2016-09-04 22:10:59

0

也许gitweb可以帮助你。

+2

嗯,这不是我想提供一个web界面来浏览存储库,我只是想在网上提供克隆。 另一方面,你的回答给了我指向git-php的指针,如果我想要一个接口(我的提供者不支持perl),这将是“Web界面”,可能适合我的需要。 – Gui13 2010-11-17 08:44:32