15

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

4

4 回答 4

6

StackOverflow 上还有其他各种问题讨论这个主题,例如:

...可能有适合您情况的解决方案。

您没有说您使用的是什么操作系统,但如果它是基于 Linux 的,我会尝试使用FUSE + fuseftp将 FTP 服务器安装为本地文件系统的一部分。如果您使用的是 Mac OS,您可以类似地尝试MacFuse。(nb 我自己从未尝试过 fuseftp,所以我不能推荐或不推荐它。)毫无疑问,Windows 也有类似的东西。

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

于 2011-02-28T13:30:24.213 回答
5

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

但从你描述的情况来看,我猜不是。

于 2011-02-28T11:15:16.730 回答
5

是的,它应该工作。请参阅this other answer,以及如何操作。

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

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

笔记:

  1. 您只要求克隆,但如果您还需要将任何内容写回远程存储库(即push也一样),那么您将无法使用裸 FTP 设置并且未经许可在服务器上运行其他软件。

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

  3. git-clone 手册页说 FTP 传输已“弃用”,出于各种原因应避免使用。那张纸条希望只是一个错误,因为

    a) 惩罚那些只有 FTP 作为共享 repo 的唯一选择的可怜的家伙,似乎是一个非常不友好的想法。(其他有其他选择的人无论如何都会更喜欢使用这些。)

    b) 似乎与gitremote-helpers 手册页不一致,该手册页也明确提到了 ftp 传输,但没有任何反对意见。

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

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

于 2014-05-08T10:51:48.513 回答
1

您可以使用git-ftp 项目工具将此部署到 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
于 2016-10-12T05:04:22.803 回答