ftp服务器上的Git存储库

时间:2011-02-28 11:11:37

标签: git ftp git-clone

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

4 个答案:

答案 0 :(得分:6)

StackOverflow上有许多其他问题可以讨论这个问题,例如:

......可能有一个适合您案例的解决方案。

您没有说明您正在使用的操作系统,但如果它是基于Linux的,我将尝试将FTP服务器作为本地文件系统的一部分安装{{3} } + FUSE。如果您使用的是Mac OS,则可以尝试使用fuseftp。 (n.b.我从未尝试过fuseftp,我自己,所以我无法推荐或推荐它。)毫无疑问,Windows也有等价物。

然后你应该能够在已安装的目录中运行git init --bare并从中推送和拉取它本地存储库。您还应该启用示例post-update挂钩,以便在每次推送后运行git update-server-info - 否则人们在使用ftp://存储库URL与服务器交互时会遇到问题。

答案 1 :(得分:5)

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

但是根据你的描述,我猜它不是。

答案 2 :(得分:3)

是的,它应该有效。请参阅this other answer,了解如何操作。

它与通过HTTP访问基本相同,只需使用URL中的ftp://协议说明符:

git clone ftp://username:password@ftp.server.net/repos/project.git

备注:

  1. 您只需要 克隆 ,但如果您还需要将任何内容写回远程仓库(即推送,如果你没有在服务器上运行其他软件的许可,那么你就没有运气了。

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

    < / LI>
  3. git-clone man page表示FTP传输已被弃用&#34;应该避免出于各种原因。因为

    ,这个说明好像是一个错误

    a)惩罚那些已经非常悲惨的穷人,只有FTP作为分享回购的唯一选择,这似乎是一个非常不友好的想法。 (其余的,有其他选择,无论如何都会更喜欢使用它们。)

    b)它似乎与gitremote-helpers man page不一致,natively也明确提到了ftp传输,没有反对它。

    c)每个运输都有其限制/优点,FTP也不例外。 (通过传输助手的capabilities命令,工具也可以毫无问题地进行协商,使用哪种工具以及不使用什么工具。)

    希望git cloning将继续在FTP上工作(也许那个可怕的评论实际上意味着git并不是 {{3}} 支持它),只要FTP仍然存在一个实用的替代方案。

答案 3 :(得分: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