繁体   English   中英

ftp服务器上的Git存储库

[英]Git repository on ftp server

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

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

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

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

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

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

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

是的,它应该工作。 看到这个其他答案 ,也是如何做到这一点。

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

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

笔记:

  1. 你只要求克隆 ,但是如果你还需要把任何东西写回远程仓库(也就是推送 ),那么你就没有运气,没有权限在服务器上运行其他软件。

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

  3. git-clone手册页说FTP传输已经“弃用”,应该避免出于各种原因。 从那以后,那个笔记就是一个错误

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

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

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

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

您可以使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM