Git支持将代码推送到FTP服务器吗?

29

我认为git ftp支持是最近才添加的,但git push文档确实明确指出:"Git本地支持ssh、git、http、https、ftp、ftps和rsync协议。"(强调添加)

然而,其他人已经问过如果git无法推送到ftp服务器应该怎么办,而我也遇到了同样的问题。

所以,有人能否明确说明“git push”是否与ftp协议兼容呢?

如果是…那么有人能回答那个其他问题吗? :-)

如果不是…这个功能正在开发中吗?还是我应该看看git-ftp?

我正在Windows下使用git 1.7.3.1。

非常感谢任何信息或建议!(顺便说一句,我将这个问题所有良好的超链接,但作为一个低级别的用户,我只能得到一个链接,所以不得不删除其他链接…)

4个回答

9
不,Git不支持将内容推送到FTP服务器,仅支持克隆和获取。这个问题以前已经回答过了
但是有几个工具可以将您的代码上传到与Git配合使用的FTP服务器上。
  • Git-ftp - 一个Shell脚本,上传当前提交的内容。它会存储上次上传的提交ID,并仅上传更改过的文件。
  • ezyang/git-ftp - 一个Python脚本,也可以上传提交的内容。它带有一个post-receive钩子,用于从裸库部署。但最后一次提交已经超过三年了。
  • PHPloy - 一个PHP脚本,通过存储提交ID也只上传更改过的文件。
  • Grunt-git-ftp - 一个Grunt脚本,同样只上传更改过的文件。

1
我认为你应该使用ftp-git,这是一个GUI工具,用于将更改的文件从git存储库推送到ftp服务器。
您可以以GUI方式检查更改的文件,并且它可以保存您的ftp连接详细信息以供将来使用。

0

我不知道这个方法是否可行,但需要注意的一件事是 .netrc 支持。

我知道在 Windows 上,一些人会把他们的 HTTP 登录凭据存储在 netrc 文件中,这样就不用在 git 命令中指定它。或许 FTP 也可以类似地工作?

我用的是 OSX,在我的主目录下有这个文件。我不知道在 Windows 上应该放在哪里。


凭据似乎不是问题,谢谢。 - yoyo

0
在你的另一个问题中,你似乎在你的FTP URL中使用了user@host文档没有提到支持user@

那是别人的问题,恰好描述了我的问题。您说得对,文档没有指出ftp协议的"user@host"语法,感谢您指出这一点。不过它似乎确实有效——至少会导致密码提示出现。如果没有用户规范,我就不会得到密码提示,然后推送就立即失败了。 - yoyo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接