我可以将我的git存储库中的所有文件“推送”到我的ftp服务器(实时制作)吗?

时间:2012-09-11 14:50:43

标签: git ftp

我刚开始(几乎没有)有点理解并使用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,但我不确定我是否可以在我的服务器上安装任何内容。

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

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:3)

如果您正在使用命令行 - 请使用lftp将文件ftp到主机。 lftp是高度可编写脚本的,如果你愿意,它允许你将它添加到post-commit钩子。

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

如果这是您希望将来继续使用的项目,您可以考虑学习capistrano以进行自动部署和轻松发布。

答案 2 :(得分:2)

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

<强> https://github.com/banago/PHPloy

从本地开发机器中输入...

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

完成!

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

答案 3 :(得分:0)

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

enter image description here