2011-02-28 136 views
13

我有ftp服务器,我无法在其上安装其他软件。是否有可能创建它的git仓库和克隆到本地电脑?我试图创建本地存储库并将其复制到ftp。它会起作用吗?我如何从FTP服务器克隆?ftp服务器上的Git存储库

回答

5

如果Git在服务器上运行,它将工作。

但是从你所描述的内容来看,我猜测它不是。

6

有讨论这个议题在计算器上各种其他问题,例如:

...这可能有一个解决方案,它适合你的情况。

你不说你使用的是什么操作系统,但如果它是基于Linux的什么,我会尝试安装FTP服务器为您的本地文件系统与FUSE + fuseftp的一部分。如果您使用的是Mac OS,则可以尝试使用MacFuse。 (n.b.我从来没有试过保险丝,我自己,所以我不能推荐或推荐它。)毫无疑问,Windows也有相应的功能。

然后你应该只能在挂载的目录下运行git init --bare,并从它推拉它,因为它是一个本地存储库。您还应该启用示例post-update钩子,以便在每次推送后运行git update-server-info,否则当与服务器进行交互时,使用ftp://存储库URL进行交互时会出现问题。

2

是的,它应该工作。见this other answer,也是如何做到这一点。

这是基本相同的通过HTTP访问,只是用ftp://协议说明中的网址:

git clone ftp://username:[email protected]/repos/project.git

注:

  1. 你只问克隆,但是如果你还需要写回任何东西回遥控器回购(即也会推),那么你就没有运气,只能使用FTP安装,并且没有权限在服务器上运行其他软件。

  2. FTP访问不是没有它的警告,如其他SO答案(上面链接)或this post here(关于不可访问的文件,取决于FTP服务器/配置)所暗示的。

  3. git-clone man page表示FTP传输已成为“弃用”,应该避免出于各种原因。因为

    a)惩罚已经足够悲惨的只有FTP作为共享回购股票的唯一选择的可怜的家伙,似乎是一个非常不友好的想法。(其他人,有其他选择的人会更喜欢使用那些)。

    b)似乎与gitremote-helpers man page不一致,它也明确提到了ftp传输,没有任何反对。 c)每一种运输都有其限制/优点,FTP也不例外。 (通过capabilities命令的运输帮手,也可以谈判工具没有问题,什么使用一个和什么不)。

    希望git克隆将继续在FTP上工作(也许是什么可怕的评论实际上意味着git并不支持它),只要FTP仍然是一个实用的选择。

1

您可以使用git-ftp project工具部署到ftp服务器。它易于使用,可以安装在本地服务器上进行远程部署。以下是适合我的基本配置:

- git config git-ftp.user YOUR_FTP_USERNAME # ftpuser 
    - git config git-ftp.password YOUR_FTP_PASSWORD # ftppass 
    - git config git-ftp.url YOUR_FTP_SERVER # ftp.domain.com, might be a path to subdirectory ftp.domain.com/public_html 
    - git config git-ftp.syncroot public_html/ # optional if you only want to push a part of your repository 
    - git ftp init 
    - git ftp push