如何从我的Github webhook拉?

时间:2015-08-25 14:20:32

标签: php git github

我正在尝试正确设置我的webhook。现在我有一个包含以下函数的githook.php文件:

function gitPull()
{
    $cmd ='cd /public_html/ethanzh; git pull -u origin master git@github.com:ethanzh/NumberGame_JS.git 2>&1;';

    $str = shell_exec($cmd);

    if(strpos($str, 'error') !== false)
        throw new Exception("Shell error: \n" . $str);

    return $str;
}

当我从Github网站上查看我的webhook时,我看到了这个错误:

fatal: 'master' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

现在,我的回购中没有任何分支,所有东西都被直接推送到'主'分支(我是唯一一个在其上工作的人)。

我认为我的问题与实际从回购中拉出的线有关。我该怎么做才能解决这个问题?

由于

1 个答案:

答案 0 :(得分:1)

首先,不要使用-u。虽然它暴露了,但它相对来说是内部的Git。它不像push -u

  

<强> -u   的 - 更新头确定

     

默认情况下,git fetch拒绝更新与当前分支对应的头部。此标志禁用检查。这个   纯粹是为了内部使用git pull与git进行通信   取,除非你实施自己的瓷器,否则你不是   应该用它。

其次,没有理由在最后一个参数中指定存储库URI。您在Git存储库中,因此已定义origin(除非您命名另一个远程)。你应该没问题:

git pull origin master

如果您需要更多详细信息,请参阅git pull docs