如何每天自动从git仓库更新我的服务器文件

时间:2011-04-09 09:03:06

标签: apache git github

我是这些服务器相关工作的菜鸟。我正在我的本地系统中编写一些PHP代码,并且一直在github中更新我的repo。每次我想测试我的应用程序时,我都会通过FTP将本地系统中的所有文件复制到我的服务器上,然后再进行操作。现在我想知道是否有办法自动进行我提交的提交以反映在服务器中的文件中。有没有办法自动使服务器定期从repo获取文件? (比如,每天一次)。

可以通过其他方式完成此操作,例如当我从本地计算机进行推送时,repo会更新,然后服务器上的文件也会更新吗?

我的服务器详细信息:Apache 2.2.15,带有Linux内核的体系结构i686 2.6.18-194.32.1.el5

3 个答案:

答案 0 :(得分:0)

也许探索git archive命令,您可以使用该命令获取zip文件或类似的代码。那么您可以使用脚本将其复制到您的(其他)服务器?

git archive --format=zip --output=./src.zip HEAD

将从您的repo的HEAD

创建一个名为src.zip的zip文件

更多信息:

答案 1 :(得分:0)

如果你有cronjobs,你可以使用它们。首先在服务器上设置存储库。然后你可以设置cronjob,选择它应该执行的时间,然后在cronjob中执行以下命令:

cd your/repository/folder; git pull master origin

答案 2 :(得分:0)

除了cronjobs,您还可以使用post-receive hook:http://help.github.com/post-receive-hooks/