故障排除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仓库时管道破裂).