【问题标题】:git pull / push returns: fatal: protocol error: bad line length character: _git pull / push 返回:致命:协议错误:错误的行长度字符:_
【发布时间】:2019-07-07 07:47:36
【问题描述】:

当我运行$git push$git pull dev master 时,我收到了这个错误:

致命:协议错误:错误的行长度字符:_

我搜索并找到了这个解决方案:

ssh <host> git-receive-pack <path-to-git-repository>

我运行它。这是服务器响应:

00..4b29e780 refs/heads/master report- 
status delete-refs side-band-64k quiet ofs-delta agent=git/1.8.3.1
00..4b29e780 refs/remotes/origin/HEAD
00..4b29e780 refs/remotes/origin/master
0000

这是什么意思?有什么问题?

【问题讨论】:

  • 请说明您是在 Windows、Linux 还是 OSX 上运行
  • @Arount Git 服务器是 GNU/Linux
  • 这里的ssh 输出中没有任何明显的内容。不过,您可以通过检查“不可见”控制字符的查看器运行它。通常的罪魁祸首是错误的 .bashrc.profile 或类似文件,即使正在运行的 shell 是非交互式的,也会输出一些文本,但通常文本更明显。

标签: linux git fatal-error git-push git-pull


【解决方案1】:

检查ssh git@YourServer的输出

一般来说,它是某种欢迎信息(因为 Git 服务器应该禁止交互式会话)。

但是,如果您在该欢迎消息之前看到任何其他输出,这将解释使用 SSH 时出现的任何 Git 错误。如评论所述,检查该帐户的资源文件是否输出任何文本。

【讨论】:

    【解决方案2】:

    感谢 VonC,您帮助解决了我的问题。 我的错误出现在原始网址中。 原点设置为

    git remote set-url origin http://192.168.1.88:7990/scm/web/t_new.git
    

    然后我总是得到错误,像这样:

    $ git push -u origin master 上传 LFS 对象:100% (25924/25924), 22 GB | 0 B/s,完成 枚举对象:114248,完成。 计数对象:100% (114248/114248),完成。 压缩对象:100% (98480/98480),完成。 致命:协议错误:错误的行长度 81925 MiB | 311.97 MB/秒 致命:sha1 文件''写入错误:管道损坏 错误:未能将一些引用推送到 'http://192.168.1.88:7990/scm/web/t_new.git'

    当我改变它时,它开始像魅力一样工作。

    git remote set-url origin ssh://git@192.168.1.88:7999/web/t_new.git
    

    顺便说一句,LFS 已启用。服务器是 Bitbucket。

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 2015-08-31
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多