此前一直用yum源装的git,版本1.8.3.1,太旧所以就remove掉。
编译装了2.22.0版本之后,在客户端拉取原有项目时提示:
protocol error: bad line length character: bash
百度搜完一遍,有说没权限的,有说拉取文件太大的…
然后我就重新弄了一遍客户端和服务端的公钥和文件权限发现还是一样。
最终找到了解决方法,记录一下:
- 查找本机的git-shell路径:
locate git-shell
- 复制第一条查找记录(我的是
/usr/local/git/bin/git-shell
) - 进入passwd:
vi /etc/passwd
- 找到git相关的一行,类似:
git:x:1001:1001::/home/git:...
- 将/git:后面的路径改成上面复制的记录(我的是
git:x:1001:1001::/home/git:/usr/local/git/bin/git-shell
) :wq
保存,客户端重新pull一次,正常了~
原因应该是yum源的git-shell路径和make install的路径不一样,导致git协议无法识别
防止更多人踩坑吧~
参考博文:“fatal: protocol error: bad line length character: No This”