V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
tlerbao
V2EX  ›  git

mac 下如何拯救龟速 github 克隆

  •  2
     
  •   tlerbao · 2020-11-28 20:41:39 +08:00 · 14159 次点击
    这是一个创建于 1215 天前的主题,其中的信息可能已经有所发展或是发生改变。

    机场有两个,目前 mac 下用的是 ClashX 但是还是没有办法拯救终端下 github 克隆超慢的问题 只有几 KB 每秒,请问各位大神怎么办

    第 1 条附言  ·  2020-11-29 10:49:36 +08:00
    > 感谢各位踊跃回答,已解决!

    ### 方法 A:代理终端

    Mac 的 ClashX 直接有复制终端代理命令的选项,复制后终端执行,然后 Clone 就走代理了,但只对当前终端起作用;要想以后打开终端都走代理,就修改配置文件.zshrc,增加

    ```shell
    export https_proxy="http://127.0.0.1:7890"
    export http_proxy="http://127.0.0.1:7890"
    export all_proxy="socks5://127.0.0.1:7890"
    ```

    > 这样的似乎终端里就都走代理了,在考虑 gitee 会不会变慢,会不会第二种办法更好呢?

    ### 方法 B:代理 Gayhub

    配置全局 git 代理:

    ```shell
    git config --global http.proxy http://127.0.0.1:7890
    git config --global https.proxy https://127.0.0.1:7890
    ```
    第 2 条附言  ·  2020-11-29 12:22:49 +08:00
    ### 方法 C:使用 ClashX Pro

    直接使用 ClashX Pro 的增强模式即可代理命令行(未测试)
    77 条回复    2021-05-24 14:10:06 +08:00
    z7356995
        1
    z7356995  
       2020-11-28 20:45:55 +08:00 via Android
    我是在路由器上翻的
    nomedia
        2
    nomedia  
       2020-11-28 20:46:50 +08:00
    proxy
    z7356995
        3
    z7356995  
       2020-11-28 20:46:52 +08:00 via Android
    第二种文法 export http
    raychar
        4
    raychar  
       2020-11-28 20:47:12 +08:00
    https_proxy
    HTNecro
        5
    HTNecro  
       2020-11-28 20:47:29 +08:00
    终端设置代理试试,设置到 clashX 开放的端口
    export ALL_PROXY=http://127.0.0.1:{port}
    WillBC
        6
    WillBC  
       2020-11-28 20:47:36 +08:00 via iPhone
    export http_proxy 这种关键词你搜一下就有了
    yukiww233
        7
    yukiww233  
       2020-11-28 20:47:46 +08:00
    clashx 自带复制终端代理...
    MrCurly
        8
    MrCurly  
       2020-11-28 20:47:59 +08:00
    clashx 可以导出终端代理链接
    tlerbao
        9
    tlerbao  
    OP
       2020-11-28 20:57:30 +08:00
    @yukiww233 @MrCurly @WillBC @HTNecro @z7356995

    果然 ClashX 可以直接复制代理命令,我试了一下,好像 mac 自带终端加速了,但是 iTerm2 好像还是不行呢?我姿势还是不对?
    imdong
        10
    imdong  
       2020-11-28 20:59:33 +08:00   ❤️ 3
    vim ~/.ssh/config
    ```
    Host proxy-ssh
    Hostname server_ip
    User root

    Host github.com
    ProxyJump proxy-ssh
    ```
    git clone [email protected]:user/name.git
    yingqi7
        11
    yingqi7  
       2020-11-28 21:00:16 +08:00
    https_proxy
    greatbody
        12
    greatbody  
       2020-11-28 21:01:35 +08:00
    软路由透明那啥更香。
    imdong
        13
    imdong  
       2020-11-28 21:03:54 +08:00
    export HTTPS_PROXY=http://127.0.0.1:1080

    git clone https://github.com/user/name.git


    很多人设置了 https 代码却使用 git clone [email protected] 导致没用。

    因为 ssh 不走 https 。
    ConnersHua
        14
    ConnersHua  
       2020-11-28 21:13:48 +08:00
    ClashX 「菜单」的「复制终端代理命令」或者使用 ClashX Pro 的「增强模式」
    kosgug
        15
    kosgug  
       2020-11-28 21:18:11 +08:00 via iPhone   ❤️ 5
    ## ssh github 加速
    ```
    vi ~/.ssh/config
    ```
    ```
    Host github.com
    HostName github.com
    User git
    ProxyCommand nc -v -x 127.0.0.1:1081 %h %p
    ```
    95276
        16
    95276  
       2020-11-28 21:20:13 +08:00
    dixin
        17
    dixin  
       2020-11-28 22:03:02 +08:00
    lostberryzz
        19
    lostberryzz  
       2020-11-28 22:07:10 +08:00
    clash 的 socks 代理有点问题,建议使用 corkscrew 配合 http 代理使用

    具体就是 15 楼的 ProxyCommand 稍微改一下,这里以 clash 默认的 7890 端口做演示(此端口可为 http 或者 mixed port )
    ProxyCommand corkscrew localhost 7890 %h %p
    LengthMin
        20
    LengthMin  
       2020-11-28 22:37:50 +08:00
    git config --global http.https://github.com.proxy http://127.0.0.1:7890

    只让 https://github.com 走代理
    cvbnt
        21
    cvbnt  
       2020-11-28 22:49:53 +08:00 via Android
    最简单解决办法,用 clashx pro 的增强模式
    itgoyo
        22
    itgoyo  
       2020-11-28 23:04:24 +08:00
    .zshrc 配置没对的问题了估计是,又或者你可以搞一个 proxychains4
    cjh1095358798
        23
    cjh1095358798  
       2020-11-28 23:09:28 +08:00
    也想求解决
    MasterCai
        24
    MasterCai  
       2020-11-28 23:23:10 +08:00   ❤️ 1
    不需要挂代理,只需要把 github.com 替换成 github.com.cnpmjs.org 即可满速 clone 。当然挂代理也不是不行
    lxilu
        25
    lxilu  
       2020-11-28 23:24:53 +08:00 via iPhone
    复殖 /翻殖(大声)
    CBS
        26
    CBS  
       2020-11-28 23:26:04 +08:00
    zooo
        27
    zooo  
       2020-11-28 23:52:30 +08:00
    好巧,刚也是 clone 太慢...
    yov123456
        28
    yov123456  
       2020-11-29 00:30:21 +08:00 via iPhone
    使用 clashx pro 开启增强模式吧
    gaopu
        29
    gaopu  
       2020-11-29 00:43:54 +08:00 via iPhone
    用官方的 github desktop 就行,满速。
    Tumblr
        30
    Tumblr  
       2020-11-29 01:15:59 +08:00
    一直是配置 Proxifier 用的,非常香!
    caitongbo
        31
    caitongbo  
       2020-11-29 02:32:56 +08:00 via iPhone
    直接切一下网络,通过手机开热点电脑连,无论是在自带终端还是 iterm2 速度都很快,有无代理均可。
    shanliang
        32
    shanliang  
       2020-11-29 03:23:58 +08:00   ❤️ 3
    mac 下如何拯救龟速 github 克隆 ❌
    国内下如何拯救龟速 github 克隆✅
    fatelight
        33
    fatelight  
       2020-11-29 05:25:58 +08:00
    前面大家说的方式就不在赘述了,说一点新的

    购买 surge,直接透明代理,除了贵,没什么缺点,拼车 100 多,还能用来抓包

    Proxifier 这种代理软件,在此代理 clashx

    https://github.com/mellow-io/mellow 不过很久没更新了,也是透明代理
    Dvel
        34
    Dvel  
       2020-11-29 06:30:45 +08:00
    @fatelight #33 是 surge 的增强模式吗?
    gw4gw
        35
    gw4gw  
       2020-11-29 07:38:18 +08:00
    Mark 一下,回头来学习
    sharpzhango
        36
    sharpzhango  
       2020-11-29 08:22:47 +08:00
    推荐一个 chrome 插件( https://github.com/fhefh2015/Fast-GitHub),亲测 2M/S

    唯一的问题是:remote 地址会修改,是从镜像下载的项目,给你篇文章,配置一下就好

    修改 remote 地址( https://blog.csdn.net/qq_33429968/article/details/62219783)
    ddzy
        37
    ddzy  
       2020-11-29 08:26:49 +08:00
    zchlwj
        38
    zchlwj  
       2020-11-29 09:27:50 +08:00
    用 https 不要用 ssh,然后配置代理
    zhanghua0
        39
    zhanghua0  
       2020-11-29 09:35:14 +08:00
    找镜像站地址,我用的是 hub.fastgit.org
    BeyondJG
        40
    BeyondJG  
       2020-11-29 10:42:22 +08:00 via iPhone
    ClashX 有个复制终端代理的命令,复制到终端执行一下,给终端开代理就好啦
    suxin1995
        41
    suxin1995  
       2020-11-29 11:34:57 +08:00
    gitee 映射 简单好用
    yasaminekldkxf
        42
    yasaminekldkxf  
       2020-11-29 11:39:55 +08:00
    换个思路,如果代理行不通,可以在直连的情况下,选择一个好一点的 DNS 服务器,比如 114,速度还是挺快的。
    tlerbao
        43
    tlerbao  
    OP
       2020-11-29 12:06:24 +08:00
    gitee 映射似乎可以,但是比如安装 homebrew 这种是脚本里 clone 的,就没办法

    用镜像的朋友,真的能保证镜像和原仓库代码一致吗? 毕竟感觉不像 composer 镜像这种有大厂来做
    yov123456
        44
    yov123456  
       2020-11-29 12:12:11 +08:00
    https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public 安装 clashx pro 版本。打开增强模式 就可以直接代理命令行了
    @HTNecro
    @yukiww233
    @MrCurly
    @tlerbao
    @fatelight
    baoshuo
        45
    baoshuo  
       2020-11-29 12:20:38 +08:00
    之前写过一篇 git 设置代理的的文章: https://baoshuo.blog/post/5vwyjylHh/
    iewgnaw
        46
    iewgnaw  
       2020-11-29 12:23:58 +08:00   ❤️ 1
    开启 clashX pro 增强模式, 系统所有流量经过 clash,对软件透明
    baoshuo
        47
    baoshuo  
       2020-11-29 13:54:54 +08:00
    git config --global http.https://github.com.proxy http://127.0.0.1:7890
    git config --global https.https://github.com.proxy http://127.0.0.1:7890

    @tlerbao 这样就可以单独代理 Github 了。
    cjh1095358798
        48
    cjh1095358798  
       2020-11-29 14:12:12 +08:00
    我使用 clashX,clashX pro 设置了,没有作用可能是啥情况呢?
    GrayXu
        49
    GrayXu  
       2020-11-29 14:49:19 +08:00
    > > 这样的似乎终端里就都走代理了,在考虑 gitee 会不会变慢,会不会第二种办法更好呢?

    clash 是有分流策略的,不会影响 gitee 的直连速度的。感觉你不太理解 fq 工具的具体功能。
    lix7
        50
    lix7  
       2020-11-29 15:10:29 +08:00
    git 走 ssh 那一套,不管你 http_proxy 的
    railgun
        51
    railgun  
       2020-11-29 15:15:08 +08:00
    ALL_PROXY=socks5h://localhost:1080 git clone https://github.com/xxx/xxx.git
    socks5h, h 表示使用代理解析域名,避免本 DNS 污染
    vincentxue
        52
    vincentxue  
       2020-11-29 15:29:40 +08:00
    你应该用 Proxifier 或者 clashX Pro 。这不是 clashX 的问题,终端命令不会走系统的 Proxy 。
    hugebug
        53
    hugebug  
       2020-11-29 15:42:48 +08:00
    @Tumblr 用上 3.x 了吗 这个版本的配置一直有问题 v 友可否分享下配置 rules
    icew4y
        54
    icew4y  
       2020-11-29 15:46:08 +08:00 via iPhone
    用路由器就能解决一切这些问题
    Lemeng
        55
    Lemeng  
       2020-11-29 16:07:01 +08:00
    路由器方向解决。可以解决问题
    TeslaLyon
        56
    TeslaLyon  
       2020-11-29 16:35:32 +08:00 via iPhone
    proxy_on
    EastLord
        57
    EastLord  
       2020-11-29 16:37:02 +08:00   ❤️ 2
    proxychains4
    supercaizehua
        58
    supercaizehua  
       2020-11-29 16:44:16 +08:00
    如果不像用任何代理 /梯子的话

    目前一个好用的方法就是去码云 gitee 上克隆一下,然后从码云那边克隆下来,然后删除码云上的克隆的库
    supercaizehua
        59
    supercaizehua  
       2020-11-29 16:45:27 +08:00
    当然,这种操作的缺陷也很明显,只适合想学习研究源代码,不适合需要对代码修改 push 的场景
    supercaizehua
        60
    supercaizehua  
       2020-11-29 16:48:22 +08:00
    proxychains4 也很好用,但是需要开一下 SIP
    vincentxue
        61
    vincentxue  
       2020-11-29 16:53:16 +08:00
    @vincentxue 补充一下,clashX Pro 有 Enhanced Mode,原理和 Surge 的一样,创建 virtual network interface 。
    zoomdong
        62
    zoomdong  
       2020-11-29 16:57:13 +08:00
    我配置了 proxy,同第一种方法。
    happyhou
        63
    happyhou  
       2020-11-29 17:12:09 +08:00
    https://fastgit.org/ as we know,fastgit is the best practice 。
    EGOISTK21
        64
    EGOISTK21  
       2020-11-29 17:35:05 +08:00 via iPhone
    提一下另一种方向的方法--depth=1
    Tumblr
        65
    Tumblr  
       2020-11-29 18:02:47 +08:00
    @hugebug #53 升级到 Bug Sir 之后就用 3.x 了,目前是 3.3,即官方最新的更新。
    配置的话,我的非常简单,就 4 条 rules:
    1. 所有 IPv6 不过代理(我的机场不支持 IPv4 ), ::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ;
    2. 所有内网 IPv4 不过代理:127.0.0.0-127.255.255.255; 10.0.0.0-10.255.255.255; 172.16.0.0-172.31.255.255; 192.168.0.0-192.168.255.255
    3. 部分域名不过代理,localhost; %computername%; 以及一些自己的特定域名
    4. 部分应用不过代理,ss-local; 国内的视频平台等
    Lufs
        66
    Lufs  
       2020-11-29 18:56:48 +08:00
    zsh 的话,有个插件可以一键设置代理(

    https://github.com/SukkaW/zsh-proxy
    loadingimg
        67
    loadingimg  
       2020-11-29 19:34:33 +08:00
    toomlo
        68
    toomlo  
       2020-11-29 19:39:40 +08:00
    Surge 的增强模式不用考虑这些,之前为什么买 Surge 就是为了少麻烦事情
    LoNeZ
        69
    LoNeZ  
       2020-11-29 19:43:42 +08:00
    ~/.ssh/config

    Host github.com
    HostName github.com
    User git
    # 走 HTTP 代理
    # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
    # 走 socks5 代理(如 Shadowsocks )
    ProxyCommand nc -v -x 127.0.0.1:1085 %h %p
    demo
        70
    demo  
       2020-11-29 20:20:27 +08:00
    没有办法,只有挂代理
    ElmerZhang
        71
    ElmerZhang  
       2020-11-29 21:21:39 +08:00
    试过各种办法,最终还是软路由最香
    fatelight
        72
    fatelight  
       2020-11-30 07:52:01 +08:00
    @yov123456 谢谢
    Saszr
        73
    Saszr  
       2020-11-30 10:31:30 +08:00
    那个 clashx 设置为系统代理啥意思哦
    这个选项有什么作用么
    我的理解就是整个系统全局代理,但貌似好像不是这样的,有么有大手子说一下
    imtianx
        74
    imtianx  
       2020-11-30 15:57:44 +08:00
    我用的 ssr 做的 代理,可以自定义用户规则。对需要走 代理的网站添加一下就可以了。
    如果 拉取 GitHub 项目仅仅是查看,可以加上 --depth=1 参数。
    0x8421
        75
    0x8421  
       2020-12-01 19:48:26 +08:00
    使用 zgit,可以完整替代 git 命令,git clone 加速:
    `git clone https://github.com/xxx/xxx` --> `zgit clone https://github.com/xxx/xxx`

    https://github.com/yantaozhao/zgit
    ceeyang
        76
    ceeyang  
       2021-03-05 18:12:28 +08:00
    すごいね, 完美解决。
    quzard
        77
    quzard  
       2021-05-24 14:10:06 +08:00
    ClashX Pro 的增强模式完美解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3157 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.