我有ftp服务器,我无法在其上安装其他软件。是否有可能在其上创建git存储库并克隆到本地PC?我试图创建本地存储库并将其复制到ftp。它会起作用吗?我如何从ftp服务器克隆?
答案 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
备注:强>
您只需要 克隆 ,但如果您还需要将任何内容写回远程仓库(即推送,如果你没有在服务器上运行其他软件的许可,那么你就没有运气了。
FTP访问并非没有其他警告,如其他SO答案(上面链接)或this post here(关于无法访问的文件,取决于FTP服务器/配置)所示。
< / LI>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