You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两台不同电脑操作GitHub仓库时Git fetch执行失败问题求助

问题解决思路

1 校验Git配置与凭证冲突

  • 分别在两台设备的本地仓库目录下执行git config --list --show-origin,排查是否存在仅单设备生效的配置项,重点关注http.proxy、ssl类自定义配置,以及http.extraHeader这类会篡改Git请求头的参数,这类参数如果和设备绑定(比如杀毒软件注入的自定义证书头),会导致单设备操作后远程会话校验异常。
  • 清理两边设备存储的GitHub凭证:Windows端删除凭据管理器里的GitHub相关凭证,Mac端删除钥匙串访问里的GitHub相关凭证,删除后分别在两台设备重新授权Git访问GitHub,不要跨设备同步凭证文件。

2 排查学校杀毒软件的流量拦截

  • 先退出Atom,用原生Git命令行执行git fetch,如果命令行也返回fatal: protocol error: bad line length 2报错,可确定是杀毒软件对Git的SSH/HTTPS流量做了中间人篡改:学校强制安装的杀毒普遍会开启SSL/TLS流量检测,会给Git请求注入自定义证书,你可以在两台设备分别执行git config --global http.sslCAInfo <杀毒软件根证书存储路径>添加证书信任,也可以临时执行git config --global http.sslVerify false验证是否是证书问题(验证完成后改回原值,避免产生安全风险)。
  • 如果仅Atom内置Git功能报错、命令行操作正常,说明是Atom 1.58.0内置的Git模块和杀毒软件的注入逻辑不兼容,可以在Atom配置中指定调用系统原生Git的路径,替换Atom自带的Git二进制文件即可。

3 排查跨设备同步冲突

  • 确认本地仓库没有存放在OneDrive、iCloud等跨设备同步目录下,你描述的「仅最后完成克隆的设备可正常操作」特征完全符合云同步覆盖.git目录的场景:如果仓库放在同步目录,一台设备操作后的.git锁文件、HEAD指针、远程配置会被同步到另一台设备,导致另一台的本地仓库状态和远程不匹配,将两台设备的仓库分别迁移到本地非同步目录即可解决。

内容的提问来源于stack exchange,提问作者TMFrancis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:48:02