2013-12-18 91 views
3

我有一个私人github回购搭建。我还安装了git,并在 subdomain.example.com上复制了此回购协议。如何从GitHub推送到您的VPS

在子域的根我有了下面的代码PHP文件:

<?php `git pull`; 

我已经建立了一个网页钩http://subdomain.example.com/git-pull.php

但是,当我推送一个新的提交没有发生在我的服务器上。我跟随了大约10个不同的教程。其中大部分似乎假设你知道你在做什么。

这将是我第一次与GitHub合作,所以我真的不知道我在做什么或如何正确完成此任务。

我想我的第一个问题是我怎么才能告诉我的网站是否看到webhook时,回购更新?

+0

您是否考虑过使用DeployHQ等服务?是侦听(使用服务钩子)Github回购,并通过FTP/SFTP推送到服务器等。 –

+0

我从来没有听说过这项服务。我会研究它。 – GDT

回答

1

我想我的第一个问题是我怎么能告诉我的网站是否在更新回购时看到webhook?

正确的问题实际上是相反的:webhook能看到你的网站吗?

有几件事情要检查:

  1. 转到您的GitHub项目的页面: https://github.com/USERNAME/PROJECT/settings/hooks

  2. 选择网络挂接网址,确保URL正确,然后单击测试钩

  3. 检查你的网络服务器日志,看看GitHub是否到达你的网站。

如果你得到这么多,那么你的脚本有问题。

顺便说一句,Web钩子发送POST请求不GET。

+0

我的服务器确实看到了webhook。我认为我面临的问题是我在服务器上通过FTP手动编辑了一些文件,并且当尝试“git pull”时,有些文件需要合并或隐藏。我照顾了这一点,现在我会做出一些改变,看看结果是否成立。 非常感谢您的帮助! – GDT

+0

如果你想在运行'git pull'之前取消所有的更改,你可以执行'git reset --hard' – janos

+0

好吧,现在我已经测试了它,我可以看到我的php文件根本没有启动。我很困惑,为什么它不工作。 – GDT