git 无法获取致命错误:协议错误:坏行长度2

b1zrtrql  于 2023-05-05  发布在  Git
关注(0)|答案(2)|浏览(178)

我有一台Windows桌面PC,目前我正在上面自学Atom中的Python。当我想用我的笔记本电脑访问我的Python文件时,我在互联网上搜索解决方案,并遇到了Git和Github。创建远程存储库工作得很好,我能够用我的Linux笔记本电脑访问它。然而,当我在Windows PC上进行更改并将其推送到Github上的远程存储库时,我试图使用笔记本电脑上的fetch按钮访问那里的更改,但错误消息“无法获取
致命:协议错误:bad line length 2”显示在Atom中。你能帮我解决这个问题吗?

uelo1irk

uelo1irk1#

Git使用的协议在每一行或其他数据包的前面加上一个四字节的十六进制长度,长度和包在一起。在这种情况下,该消息意味着某些内容正在修改流以使其无效,因为0002在您的版本中不是有效的数据包报头。
通常发生这种情况是因为您在Windows上,您正在使用HTTPS,并且您有某种第三方防病毒或防火墙可以拦截所有TLS连接,这可能包括或可能不包括篡改它们,以便“保护您免受恶意软件的侵害”。通常这个软件会降低安全性,并且经常破坏Git,所以最好的方法是卸载第三方防病毒软件或防火墙,并使用Windows Defender和Windows防火墙。如果您使用其他类型的代理或TLS MITM设备,也可能发生这种情况,在这种情况下,您不应该使用它或向网络管理员报告它已损坏的事实。
您也可以尝试使用SSH,因为通常这些程序不支持拦截SSH连接。

zxlwwiss

zxlwwiss2#

Mac OSX/Atom当点击git addin fetch按钮来更新分支时。
在OSX 12.6/Atom 1.60上,我搜索了特定于Atom的问题,我找到了这个https://github.com/atom/github/issues/2720#issuecomment-1295898268,它修复了我的问题,基本上交换了git二进制文件。
可能会给予一个指针来解决Windows/Atom。

mv /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/bin/git /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/bin/git.original
mv /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git.original

ln -s /usr/bin/git /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git
ln -s /usr/bin/git /Applications/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/bin/git

相关问题