故障排除Git

有时候,当您使用Git时,事情并不像您期望的那样工作。下面是一些关于Git故障排除和解决问题的技巧。

git push的管道破裂错误

尝试推送到远程存储库时可能会发生“管道破裂”错误。在推的时候你通常会看到:

写失败:管道破裂致命的:远程端意外挂断

为了解决这个问题,这里有一些可能的解决方案。

在Git中增加POST缓冲区大小

如果通过HTTP推送,您可以尝试在Git的配置中增加POST缓冲区的大小。打开终端,输入:

Git配置http。postBuffer 52428800

该值以字节为单位指定,因此在上述情况下,缓冲区大小已设置为50MB。默认值是1MB。

检查您的SSH配置

如果通过SSH进行推送首先检查您的SSH配置,因为“管道破裂”错误有时可能是由SSH的底层问题(例如身份验证)引起的。中的说明确保正确配置了SSHSSH故障排除文档。

还有另一个选项,您可以通过在客户端或服务器上配置SSH 'keep alive'来防止会话超时(如果您是GitLab管理员并有权访问服务器)。

注意:注意:配置这两个不需要客户端和服务器。

在客户端配置SSH

  • 在UNIX上,编辑~ / . ssh / config(创建文件,如果它不存在),并添加或编辑:

    主机your-gitlab-instance-url.comServerAliveInterval 60ServerAliveCountMax 5
  • 在Windows上,如果你正在使用PuTTY,转到你的会话属性,然后导航到“连接”,在“发送空数据包以保持会话活动”下,设置“keepalive之间的秒数(0关闭)”为60

在服务器端配置SSH、编辑/etc/ssh/sshd_config并添加:

ClientAliveInterval 60ClientAliveCountMax 5

运行git包

如果'pack-objects'类型错误也被显示,你可以试着运行git重新打包在尝试再次推送到远程存储库之前:

git重新打包git推

升级Git客户端

如果您运行的是旧版本的Git(< 2.9),请考虑升级到>= 2.9(参见推送到Git仓库时管道破裂).

Baidu
map