问题
I have set up one of my EC2 instances with git and using a post-receive hook I have it deploying to my server with this tutorial. This is the output from my console:
$ 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'
Please let me know if you need anything else to help me resolve this issue.
回答1:
I have figured out the problem that I was having. Apparently, you have to make sure you read everything from STDIN before completing the script.
This was my post-receive hook before:
#!/bin/sh
git checkout -f
This is what I added that solved the problem:
#!/bin/sh
while read oldrev newrev refname
do
:
done
git checkout -f
来源:https://stackoverflow.com/questions/9592908/error-in-sideband-demultiplexer-with-a-git-post-receive-hook