【问题标题】:Can I 'push' all the files in my git repository to my ftp server (live production)?我可以将 git 存储库中的所有文件“推送”到我的 ftp 服务器(实时生产)吗?
【发布时间】:2012-09-04 13:08:42
【问题描述】:

我刚开始(勉强)了解和使用 git。我正在使用 github 和 cloud9 IDE。

我想出了如何将文件保存(提交然后推送?)到 github 存储库...

问题

Is there a command that will upload (and overwrite) files from my git to my ftp server where my website is hosted?

我已经检查了this question,但我不确定我是否需要在我的服务器上安装一个 .git(除非我仍然可以通过它运行我的网站)。

我也检查了this question,但我不确定我是否可以在我的服务器上安装任何东西。

这不是我想的那么简单吗?

非常感谢任何帮助。

【问题讨论】:

  • 在您的服务器上使用.git 有什么问题?
  • 对不起,我不是说不想要这个文件...我只是想能够“刷新”我的实时文件,而不仅仅是刷新一个 .git 文件(显然我不明白 git还是哈哈)

标签: git ftp


【解决方案1】:

Git 不是 FTP 客户端。但是您可以创建一个提交后挂钩来执行此操作。 git hook 是一个 shell 脚本,它通过某些操作执行。当您提交时,您可以使用它来将所有源文件上传到您的 FTP 服务器。有关钩子的更多信息,请参阅:

http://www.kernel.org/pub/software/scm/git/docs/githooks.html

【讨论】:

    【解决方案2】:

    如果您在命令行上工作 - 使用 lftp 将您的文件通过 ftp 传输到您的主机。 lftp 是高度可编写脚本的,如果您愿意,可以将其添加到提交后挂钩。

    如果您使用的是 gui - 您可以尝试使用 filezilla 或任何数量的其他 ftp 客户端将您的文件移动到您的服务器。

    如果这是您希望其他人在未来从事的项目,您可以考虑学习 capistrano 以实现自动部署和简化发布。

    【讨论】:

      【解决方案3】:

      正如我在this answer 中提到的,PHPloy 是一个很好的工具,可以通过 FTP 将您的 git 更改发送到远程服务器(您不必在其上安装 任何东西服务器,如果你在一个共享的网络主机上,那就太好了)。它从命令行运行,并使用跨平台 PHP 编写(甚至可以检测子模块中的更改)。

      https://github.com/banago/PHPloy

      在您的本地开发机器上,您只需键入...

      git commit ...
      phploy -s stagingServer
      phploy -s productionServer
      

      完成!

      (免责声明:在使用了一段时间后,我现在贡献了一些代码补丁和改进,使其与 Windows 兼容。)

      【讨论】:

        【解决方案4】:

        无论使用 OSX,你都可以考虑这个基于 GUI 的非常方便的工作流程(我也用于一些 WordPress 的东西):http://eppz.eu/blog/push-git-to-ftp/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-12
          • 2015-06-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-24
          • 2015-11-05
          • 1970-01-01
          相关资源
          最近更新 更多