【问题标题】:How to git push using ftp?如何使用 ftp 进行 git 推送?
【发布时间】:2011-08-18 16:27:39
【问题描述】:

我想上传(仅使用 ftp)到我的服务器,只有更改。我在本地有一个可用的 git 存储库。但我想不出任何使用 ftp 推送的方法。

我可以使用 git push 发送其他主机,因为它允许 ssh,但是这个主机只允许 ftp。

【问题讨论】:

  • git help push 表示 Git 支持 FTP。到目前为止,您尝试了什么?
  • 这里有一个 Git FTP 项目,它提供了一个用于执行此操作的脚本,github.com/resmo/git-ftp。无论是用户还是查看源代码来弄清楚?
  • 我对 rsync 感到困惑,是的,你是对的,git 支持 FTP。菲利普请留下答案。

标签: git ftp git-push


【解决方案1】:

git-ftp 脚本正是这样做的:

René Moser 的 git-ftp 是一个简单的 shell 脚本,用于以 Git 的方式进行 FTP。使用 git-ftp.sh 仅将 Git 跟踪的文件上传到 FTP 服务器,这些文件自上次上传以来已更改。这节省了时间和带宽。即使您使用不同的分支,git-ftp.sh 也知道哪些文件不同。没有普通的 FTP 客户端可以做到这一点。

【讨论】:

  • 此答案中提供的 github 链接不正确(可能不再有效) - 404。
  • 我已经更新了有问题的link
【解决方案2】:

您应该能够使用

推送到 FTP 存储库
git push ftp://host.net/path/to/repo.git/

【讨论】:

  • Git-push 1.7.12.4 版手册中特别提到:“Git 支持 ssh、git、http、https 协议(另外,ftp、ftps可用于获取 和 rsync 可用于获取和推送,但它们效率低下且已弃用;不要使用它们)。”这意味着 ftp 不适合推送,甚至不支持获取。
【解决方案3】:

我编写了一个小 PHP 脚本,对此我很满意。它被称为 PHPloy 并与 Git 紧密耦合以确定哪些文件在哪里编辑/添加/删除并相应地上传它们。您将 FTP 详细信息放在 deploy.ini 文件中,然后运行一个命令来部署:

phploy

您也可以一次部署到多台服务器。如果您配置了多台服务器,您可以像这样选择部署到其中一台:

phploy --server staging

还有更多可以做的——在 Github 上查看:https://github.com/banago/PHPloy

【讨论】:

    猜你喜欢
    • 2012-11-24
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多