我在Windows上使用SourceTree + Git,没有任何问题。我能够使用命令(终端/BASH)中的git命令。我更喜欢使用终端进行git推拉等。不幸的是,在我的机器重新安装后(服务器/git是相同的),我得到了这个痛苦的错误。
在一台新机器上,我安装了Git 1.9.5 (Git-1.9.5-preview20141217.exe),并配置为只使用BASH和带有适当SSH密钥文件的plink。
我可以在我的存储库上执行git log
,但是git pull
或git push
给出了这个错误:
me@NEW-MACHINE /c/Workspace/project (master)
$ git pull
fatal: protocol error: bad line length character:
@-
ERROR: Problem parsing the command line arguments.
当然,我搜索了许多关于“致命:协议错误:坏行长字符”的文章。但是,找不到任何线索。
有趣的是,在SourceTree上,我可以成功地完成git pull
或push
。我只是在BASH终端上发现了这个错误。请注意,SourceTree不使用嵌入式git。
到目前为止,我的调查如下:
我的线索是错误消息中的<newline>@-<newline>
。它更像是Windows/BASH特有的问题。我搞不清是什么原因"@-“。
编辑:我尝试了这条线中的建议,但没有解决我的问题。git服务器是github.mycompany.com
,它不允许任何ssh
连接。
发布于 2015-02-13 21:50:34
您可以完全通过以下方法来规避bash-ssh问题:
git-cmd.bat
启动DOS外壳(打包在发行版中)这就是:
git clone https://<yourAccount>@github.mycompany.com/<yourAccount>/<yourRepo>
由于您将在本例中使用https协议,所以在git拉(相对于ssh协议:请参阅智能协议)期间不会有任何shell会话,而且您不应该看到任何像fatal: protocol error: bad line length character
这样的额外消息。
发布于 2016-06-21 20:38:59
我在windows上也有同样的问题。通过Pageant应用程序(Putty身份验证代理)加载您的公钥/私钥。添加私钥/公钥。
https://stackoverflow.com/questions/28290596
复制相似问题