git push " The remote end hung up unexpectedly "

JeskTop picture JeskTop · Aug 24, 2012 · Viewed 10.7k times · Source

I have created a new branch in my local repository and after some commits, I wanted to push it to the remote repository.

git push origin new_branch

I have this error:

$ git push origin new_branch

Counting objects: 32, done.

Delta compression using up to 2 threads. Compressing objects: 100% (18/18),done.

Writing objects: 100% (18/18), 5.29 KiB, done. Total 18 (delta 13), reused 0 (delta 0)

Write failed: Broken pipe

fatal: The remote end hung up unexpectedly

fatal: The remote end hung up unexpectedly

When I user $ git remote -v

origin [email protected]:XXX.git (fetch)

origin [email protected]:XXX.git (push)

the git branch

fiberead_com$ git branch -a
* new_branch
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
  remotes/origin/online

nginx.conf

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
#    keepalive_timeout  65;
client_header_timeout 3m;
client_body_timeout 3m;
keepalive_timeout 175 120;
client_max_body_size 35m;

    tcp_nodelay        on;


    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Can anybody help me, please?

My git server is in the Linode.I use GITLAB and the other project isn't have this problem.Only a new project ,I user 'git clone' to pull my computer.But when I push the code, something wrong have happen.

I use Nginx.

And I use '$ git push origin master', have the same problem.

Answer

VonC picture VonC · Aug 24, 2012

That means the http server in charge of listening to the request (here a git push over http) failed to complete.

  • Either because of a problem on the server:
    Only log of said http server contain the root cause (it can be for instance a message too big for the server to process, or a right issue, or ...).
    Those logs can be in etc/httpd/httpd.conf (Apache), or /var/log/nginx/error.log (NGiNX) or even in gitlab itself.

  • Or because it never received the request, which the OP jesktop confirms to be the case here:

I found all of log,but the error log are empty.
The problem is the network. Because I am in China and there is a special network here.
So the VPN can solve this problem.