V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Leoscott
V2EX  ›  GitHub

使用 git 进行 push 时几乎无法连接

  •  
  •   Leoscott · 2021-11-30 13:25:55 +08:00 via iPhone · 4097 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,push 上去获得的响应要么是 Timeout 要么是 Connectiong reset.但偶尔会 push 成功。我平时习惯开着 clash ,也是时而成功时而不成功。而且我开着与不开着 clash 都尝试过。然而我把电脑晾个五六分钟就又可以成功 push 一次两次。请问有什么解决方法呢。已尝试过网上的方法都不管用。测试时用过校园网和手机热点,情况都一样
    10 条回复    2021-11-30 19:12:22 +08:00
    fortynine
        1
    fortynine  
       2021-11-30 13:29:54 +08:00 via Android
    clash tun
    Leoscott
        2
    Leoscott  
    OP
       2021-11-30 13:50:58 +08:00 via iPhone
    @fortynine 请问是什么意思
    virlaser
        3
    virlaser  
       2021-11-30 14:27:21 +08:00
    用的 clash for Windows ,git 流量默认不走 clash ,可以开个 socket 端口来提供代理,让 push 的流量走 clash

    # 设置代理
    git config --global https.proxy http://127.0.0.1:1080
    git config --global https.proxy https://127.0.0.1:1080
    # 取消代理
    git config --global --unset http.proxy
    git config --global --unset https.proxy

    但是上面比较麻烦,每次都要设置。因此需要找个办法让流量强制走 clash ,就是用 clash 的 tun 模式,虚拟张网卡,接管所有流量。下面是 clash for Windows 的文档。

    https://docs.cfw.lbyczf.com/contents/tun.html#windows
    gadfly3173
        4
    gadfly3173  
       2021-11-30 15:07:06 +08:00
    @virlaser #3 不需要每次开了再关把。。可以设置 DOMAIN-SUFFIX 之类的,只代理特定域名就好了
    HongJay
        5
    HongJay  
       2021-11-30 15:15:13 +08:00
    对的。和楼上一样让 git 走代理就好了
    Leoscott
        6
    Leoscott  
    OP
       2021-11-30 15:56:47 +08:00 via iPhone
    @virlaser 原来是因为 git 流量默认不走 clash 配置的代理。请问这是什么原理呢
    Leoscott
        7
    Leoscott  
    OP
       2021-11-30 15:58:52 +08:00 via iPhone
    @virlaser
    @HongJay 我在 clash 面板中的 connection 看到了 api.github.com:443 ,而且有走代理
    Leoscott
        8
    Leoscott  
    OP
       2021-11-30 15:59:42 +08:00 via iPhone
    @virlaser 文档已阅👍
    virlaser
        9
    virlaser  
       2021-11-30 16:25:33 +08:00
    @Leoscott 我的理解是这样的,你打开 clash 后,clash 会修改系统的代理,把系统的代理指向 clash 起的代理服务器,浏览器默认会读取系统代理,因此使用浏览器的流量就会被正常代理;但是 git 不会去读取系统的代理设置,所以需要手动设置 git 的代理。
    如果 git 的流量已经经过了代理还是不行,需要考虑下是不是梯子不太稳定。我这边代理了 git 的流量后,clone 下载的速度都可以把宽带跑满的。
    Leoscott
        10
    Leoscott  
    OP
       2021-11-30 19:12:22 +08:00 via iPhone
    @virlaser 系统的代理修改为了 127.0.0.1 localhost 。git 可能真的没有经过 clash(多次尝试 push ,clash 中没有出现与 github.com 的 connection)。梯子倒是一直稳,因为浏览器里开网页没问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1191 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.