4

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

git push origin new_branch

我有这个错误:

$ git push origin new_branch

计数对象:32,完成。

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

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

写入失败:管道损坏

致命:远端意外挂断

致命:远端意外挂断

当我使用 $ git remote -v

起源 git@106.187.99.99:XXX.git (fetch)

来源 git@106.187.99.99:XXX.git(推送)

git 分支

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',也有同样的问题。

4

3 回答 3

5

这意味着负责监听请求的 http 服务器(这里是 git push over http)未能完成。

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

  • 或者因为它从未收到过请求,OP jesktop在这里确认是这种情况:

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

于 2012-08-24T14:35:32.513 回答
0

试试这个:

git push origin feature/new_branch

并检查连接是否有效。

于 2012-08-24T08:27:54.097 回答
0

来自谷歌的人:六年后,这仍然会定期发生。当我无意中提交了一个非常大的二进制文件(等)时,我已经看到了这种情况。删除二进制文件并重新提交以解决问题是不够的;由于 Git 的工作方式,最初包含它的提交仍然存在,因此大小也存在。解决方案是彻底改变有问题的提交。

一旦我确定了一个错误的提交作为原因,每次发生这种情况时的解决方案都变得清晰:git bisect. 这对我来说可能每年出现一次或两次,并不总是因为文件很大。一旦您排除了网络问题,正如此处的其他答案正确指出的那样,我的解决方案总是相同的 - 平分,删除有问题的提交,然后您将能够推送。

于 2018-11-09T00:16:03.680 回答