git push“远程端意外挂断”

时间:2012-08-24 07:43:56

标签: git branch push master linode

我在本地存储库中创建了一个新分支,在一些提交之后,我想将它推送到远程存储库。

  

git push origin new_branch

我有这个错误:

  

$ git push origin new_branch

     

计算对象:32,完成。

     

使用最多2个线程进行Delta压缩。压缩对象:100%(18/18),完成。

     

写作对象:100%(18/18),5.29 KiB,完成。总计18(delta 13),重复使用0(delta 0)

     

写入失败:管道损坏

     

致命:远程端意外挂断

     

致命:远程端意外挂断

当我使用$ git remote -v

  

origin git@106.187.99.99:XXX.git(fetch)

     

origin git@106.187.99.99:XXX.git(推送)

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/*;
}

有人可以帮助我吗?

我的git服务器在Linode中。我使用GITLAB而另一个项目没有这个问题。只有一个新项目,我用户'git clone'来拉我的电脑。但是当我推送代码时出错了已经发生了。

我使用的是Nginx。

我使用'$ git push origin master',也有同样的问题。

3 个答案:

答案 0 :(得分:5)

这意味着负责收听请求的http服务器(这里的git push over http)无法完成。

  • 要么是因为服务器上的问题:
    只有所述http服务器的日志包含根本原因(例如,它可能是服务器处理过大的消息,或者是正确的问题,或者......)。 这些日志可以在etc/httpd/httpd.conf(Apache)或/var/log/nginx/error.logNGiNX)中,甚至可以在gitlab中。

  • 或者因为它从未收到OP jesktop确认为此的请求:

  

我找到了所有日志,但错误日志是空的   问题是网络。因为我在中国,这里有一个特殊的网络   所以VPN可以解决这个问题。

答案 1 :(得分:0)

试试这个:

git push origin feature/new_branch

并检查连接是否有效。

答案 2 :(得分:0)

致Google来的人们:六年后,这种情况仍然定期发生。当我无意中提交了一个非常大的二进制文件时(我等),我已经看到了这种情况。仅仅删除二进制文件并重新提交以解决问题还不够。由于Git的工作方式,最初保留了包含它的提交,因此大小也保持不变。解决方案是完全将有问题的提交重新计算出来。

一旦我确定了错误的提交原因,每次发生这种情况时的解决方案就变得很明确:git bisect。对于我来说,这可能每年出现一次或两次,但并非总是如此,因为文件很大。一旦您排除了其他问题正确指出的网络问题后,对我来说解决方案便始终是相同的-将其一分为二,删除有问题的提交,然后就可以推送了。