使用git post-receive hook的边带解复用器出错

时间:2012-03-06 22:26:25

标签: git apache hook githooks

我已经使用git设置了一个EC2实例,并使用post-receive hook将其部署到我的服务器this tutorial。这是我的控制台的输出:

$ git push production master
git@example.com's password:
Counting objects: 26, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 2.51 KiB, done.
Total 19 (delta 14), reused 0 (delta 0)
fatal: The remote end hung up unexpectedly
error: error in sideband demultiplexer
To git@184.169.147.123:halftown.git
   5d5e809..eb30e51  master -> master
error: failed to push some refs to 'git@example.com:git_application.git'

如果您还需要其他任何帮助我解决此问题,请与我们联系。

1 个答案:

答案 0 :(得分:17)

我已经找到了我遇到的问题。显然,你必须确保在完成脚本之前从STDIN读取所有内容。

这是我之前收到的钩子:

#!/bin/sh
git checkout -f

这是我添加的解决问题的方法:

#!/bin/sh
while read oldrev newrev refname
do
:
done
git checkout -f