我在本地系统或网络共享上安装了git并按预期工作,但是无法使用ssh访问我服务器上的远程裸存储库。
我在服务器上安装了msysgit和CopSSH,在本地系统上安装了msysgit,putty和tortoisegit。我能够打开一个putty会话或成功使用plink - 至少我相信plink是成功的,但更多的是在一点点。
当我尝试克隆远程存储库时,我得到了这个:
D:\Temp> git clone uname@server:e:/path/test.git Test
Cloning into Test...
fatal: protocol error: bad line length character: Micr
错误信息已经存在了一段时间,但有时(从一次重新安装尝试到另一次),最后四个字符将是“Micr”,“Allo”或其他我现在还不记得的东西。在当前安装的状态下,它是'Micr'。
所以最大的问题是我做得不对?
虽然我认为如果我能得到实际的错误消息而不是通用错误消息后面跟着实际错误消息的前四个字符,那么纠正错误会容易得多。知道这是否可能?
答案 0 :(得分:3)
首先,您有export GIT_TRACE=1
和export GIT_TRACE_PACKET=1
等变量可以帮助调试此类情况。
其次,此错误通常是由在ssh会话期间完成的任何类型的显示引起的(例如参见this thread),如服务器端的.bashrc
,其中包含回显。
我有一个围绕ssh的包装器设置,它将shell的窗口标题设置为ssh命令参数。那就是搞砸了!
另见Git FAQ
其他原因包括:
--exec-path
from the server_arg
on the server side 注意:使用Git 2.6+(2015年第3季度),另请参阅“GIT_TRACE_PACKFILE
”。