首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows上的git :致命:协议错误:坏行字符:@-

Windows上的git :致命:协议错误:坏行字符:@-
EN

Stack Overflow用户
提问于 2015-02-03 02:56:24
回答 2查看 3.9K关注 0票数 3

我在Windows上使用SourceTree + Git,没有任何问题。我能够使用命令(终端/BASH)中的git命令。我更喜欢使用终端进行git推拉等。不幸的是,在我的机器重新安装后(服务器/git是相同的),我得到了这个痛苦的错误。

在一台新机器上,我安装了Git 1.9.5 (Git-1.9.5-preview20141217.exe),并配置为只使用BASH和带有适当SSH密钥文件的plink。

我可以在我的存储库上执行git log,但是git pullgit push给出了这个错误:

代码语言:javascript
运行
复制
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 pullpush。我只是在BASH终端上发现了这个错误。请注意,SourceTree不使用嵌入式git。

到目前为止,我的调查如下:

  • 我安装了一个较旧版本的git (1.8.x),仍然存在错误。
  • 感动了.bashrc,但没什么好的。
  • 显然,SourceTree没有问题,因为SourceTree不使用嵌入式Git。
  • 服务器在Github (企业,私有)中。
  • 使用相同的git存储库/服务器在Linux上使用任何git命令都没有问题。

我的线索是错误消息中的<newline>@-<newline>。它更像是Windows/BASH特有的问题。我搞不清是什么原因"@-“。

编辑:我尝试了这条线中的建议,但没有解决我的问题。git服务器是github.mycompany.com,它不允许任何ssh连接。

EN

回答 2

Stack Overflow用户

发布于 2015-02-13 21:50:34

您可以完全通过以下方法来规避bash-ssh问题:

  • git-cmd.bat启动DOS外壳(打包在发行版中)
  • 使用git克隆来使用远程回购的正确https url创建一个新的克隆。

这就是:

代码语言:javascript
运行
复制
git clone https://<yourAccount>@github.mycompany.com/<yourAccount>/<yourRepo>

由于您将在本例中使用https协议,所以在git拉(相对于ssh协议:请参阅智能协议)期间不会有任何shell会话,而且您不应该看到任何像fatal: protocol error: bad line length character这样的额外消息。

票数 1
EN

Stack Overflow用户

发布于 2016-06-21 20:38:59

我在windows上也有同样的问题。通过Pageant应用程序(Putty身份验证代理)加载您的公钥/私钥。添加私钥/公钥

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28290596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档