我已经使用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'
如果您还需要其他任何帮助我解决此问题,请与我们联系。
答案 0 :(得分:17)
我已经找到了我遇到的问题。显然,你必须确保在完成脚本之前从STDIN读取所有内容。
这是我之前收到的钩子:
#!/bin/sh
git checkout -f
这是我添加的解决问题的方法:
#!/bin/sh
while read oldrev newrev refname
do
:
done
git checkout -f