Narzo 20手机4G网络下无法执行Bitbucket的Git pull/push/merge操作
Bitbucket Git操作在Narzo 20共享网络下异常修复方案
已验证排除电脑系统、Git配置、Bitbucket服务端问题(更换其他移动网络共享设备时操作正常、常规网页访问无异常),问题根因集中在Narzo 20的网络配置层面,按以下顺序排查修复:
- 第一步:抓取明确报错定位问题
不要盲目重试,在终端执行带调试参数的Git命令拿到具体错误信息,避免无效排查:GIT_TRACE=1 GIT_CURL_VERBOSE=1 git pull
该场景下90%以上的报错指向两类问题:网卡MTU不匹配导致Git传输的大包被丢弃、手机系统自带网络拦截规则截断Git长连接/拦截对应端口。 - 第二步:修复MTU值不匹配问题
Realme Narzo系列机型默认热点/USB共享网络的MTU值设为1500,但国内4G移动链路实际支持的最大MTU普遍在1420-1480区间,Git推拉代码时的连续大包超过链路MTU会被直接丢弃,表现为普通网页浏览正常、大流量长连接操作失败:- 终端执行
ip link查看当前连接手机网络的网卡名称:USB共享网络对应网卡名一般为enp0sXXuXX格式,无线热点对应网卡名一般为wlp2s0格式 - 临时修改网卡MTU值测试(将命令中
<网卡名>替换为上一步查到的实际名称):sudo ip link set <网卡名> mtu 1420 - 修改后直接重试Git操作,如果恢复正常,将该MTU值写入NetworkManager对应连接的配置项,避免系统重启后配置失效。
- 终端执行
- 第三步:关闭Narzo 20的网络拦截规则
该机型搭载的Realme UI(安卓11版本)默认开启的三类功能会直接干扰Git传输:- 关闭「设置-移动网络-流量节省」,该功能会默认截断非前台浏览器应用的后台长连接
- 关闭「设置-隐私-安全防护」下的恶意网站拦截、网络嗅探类功能,这类功能会对HTTPS/SSH流量做中间人劫持,Git的证书、密钥校验不通过就会直接断连
- 关闭自定义私人DNS、断开所有VPN连接:该系统版本的私人DNS模块会拦截非80/443标准端口的请求,Bitbucket默认SSH走22端口,会被直接拦截。
- 第四步:切换传输协议绕开端口限制
上述操作完成后仍异常的,切换Git传输协议绕开端口拦截:- 如果你当前使用SSH协议连接仓库,临时切换为HTTPS协议测试:
git remote set-url origin https://<你的Bitbucket用户名>@bitbucket.org/<你的仓库路径>.git - 如果HTTPS协议正常、SSH协议无法连接,说明22端口被拦截,修改本地SSH配置让Bitbucket SSH走443端口即可,编辑
~/.ssh/config文件,加入以下配置:
- 如果你当前使用SSH协议连接仓库,临时切换为HTTPS协议测试:
Host bitbucket.org HostName altssh.bitbucket.org Port 443 User git
该配置将Bitbucket的SSH流量转到和网页访问一致的443端口传输,不会被手机、运营商的端口拦截规则阻断。
内容的提问来源于stack exchange,提问作者rahul nova
相关产品推荐
相关产品推荐

