GitHub速度慢-问题起源

乐鑫开发工具真香,但在git clone相关工具链时,因为要从国外获取数据网速很慢,运气好的话早上十点以前速度会比较快,需要运气才能下载完。一旦中断又需从头开始。
前文我为了进行测试,尝试了十几次的开发环境搭建,已把我自己折磨的要崩溃了。终于,下决定从国内镜像源来解决这个问题,查阅了很多资料,吸取前人经验,结合本人几处踩坑经历分享,希望大家最后git clone都能飞起。

一、你要分清李逵李鬼

当然不是说非官方的不行,而是非官方更新不及时,经常要多走弯路,这个大家都懂。gitee上乐鑫官方为https://gitee.com/EspressifSystems,截图如下

官方库可以直接git clone,可跳过步骤二;如果是私库,必须按步骤二操作,而且子模块的下载并没有真正解决。

二、gitee注册、生成RSA码、登录,开始gitee

GitHub可以直接git操作,如
git clone -b v3.3.2 --recursive https://github.com/espressif/esp-idf.git
但gitee并不能匿名下载(这个说法不一定准确),用
git clone https://gitee.com/EspressifSystems/esp-idf
直接下载,得到的结果只会失败。
注意:所有的操作均可在Windows10+WSL Linux下操作完成

1、你必须先注册gitee账号才行,注册过程的用户名、密码及邮箱要记好,后续会用到。
作为小白,以前以为只要注册用户登录了就行,但还是不行
2、最近偶然参见CSDN的博客“Ubuntu16.04下安装git并进行配置,利用Gitee(码云)进行项目及代码的管理”,地址“https://blog.csdn.net/u012538729/article/details/104196738”。
后续的步骤详见该文,本文补充图片加以说明。
①git安装与卸载
安装:apt-get install git
卸载:apt-get remove git
安装成功后可用以下命令查看git版本号:
git --version
②git配置
a、配置用户名
git config --global user.name “your name”
用户名和gitee用户名一致
b、配置git邮箱
git config --global user.email “your email”
邮箱与gitee注册邮箱一致

c、查看配置信息
git config --global --list
用户名与邮箱要与gitee相关信息一致,否则会出现gitee相关统计信息无法统计的情况,如代码提交等等
d、创建公钥
ssh-keygen -C “your email” -t rsa
创建过程中,根据提示信息一直回车即可
e、gitee添加公钥
将目录下的.ssh/id_rsa.pub里的内容全部复制。登录gitee网站在设置中选择SSH公钥添加公钥内容
f、测试配置是否成功
ssh -T git@gitee.com
g、测试成功后,可以利用git下载相关代码。以ESP-IDF为例,速度已经很快,但因包含子模块,后续子模块重定位后下载速度仍然很慢,仅几Kbps。如图所示,原因还是从国外下载

三、使用esp-gitee-tools修改子模块git路径

好在为了解决国内开发者从 github 克隆 esp 相关仓库慢的问题,乐鑫官方已将 esp-idf 和部分重要仓库及其关联的子模块镜像到了 gitee。
以下以 esp-idf 为例说明,其他包含 submodules 的仓库,如 esp-adf 等均可以参考。引用地址来源:https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md

1、ESP-IDF Programming Guide 中默认使用如下命令来克隆 esp-idf:
git clone --recursive https://github.com/espressif/esp-idf.git
git 命令带了 --recursive 参数后会克隆包括子模块在内的所有仓库。

2、有别于此,在 gitee 中可使用如下流程:
Step 1:
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
Step 2:
git clone https://gitee.com/EspressifSystems/esp-idf.git
注意1:仅克隆 esp-idf,不包含子模块。
注意2:先查验版本是否符合需要,否则要先切换版本
以esp-ali-smartliving SDK为例,其要求的版本如下:
【ESP32的ESP-IDF: 请切换到 release v3.3.2 tag 版本: git checkout v3.3.2
如果需要使用 ESP32S2 模组,请切换到 release/v4.2 版本: git checkout release/v4.2
ESP8266_RTOS_SDK: 请切换到 release/v3.3 版本: git checkout release/v3.3】
Step 3:
可以有两种方式来更新 submodules。
方式一
进入 esp-gitee-tools 目录,export submodule-update.sh 所在路径,方便后期使用,如:
cd esp-gitee-tools
export EGT_PATH=$(pwd)
进入 esp-idf 目录执行 submodule-update.sh 脚本:
cd esp-idf
$EGT_PATH/submodule-update.sh

方式二参见原文,不再叙述
3、然后就可以看见子模块飞速的更新,真是爽啊



Tips
1、如果仓库中的 submodules 没有增加或减少,在使用过该脚本的工程内需要对仓库进行更新的情况下,无需一定要再次执行该脚本,可以使用标准的 git 命令,如 git pull && git submodule update --init --recursive 来更新,当然要再次使用该脚本也是没有问题的。
2、如果要切换版本,由于不同版本包含的 submodules 可能不同,建议切换版本后再次执行该脚本。
3、如果执行脚本过程中由于网络原因异常退出,可以重复执行该脚本。

四、结语

感谢各位大佬经验和乐鑫提供的工具,几番尝试折腾,现在终于体会到飞的感觉了

有些眼力厉害的朋友,可能已经发现我用的是VScode+WSL Linux+ESP开发环境,后续我会整理一下,发布新文章“乐鑫开发环境之最佳拍档VScode+WSL Linux+ESP”进行说明,如果对大家有帮助,希望大家关注、点赞和留言。
相关环境搭建大家也可自行网上搜索。

乐鑫开发工具链之国内镜像gitee飞起相关推荐

  1. ESP32烧录bin,乐鑫下载工具使用flash_download_tool

    ESP32的工程编译后,下载到MCU内需要烧录3个文件: /build/bootloader 目录下的 bootloader.bin. /build/partition_table 目录下的 part ...

  2. 在基于乐鑫芯片的用户定制开发板上开发 UI

    在上一篇文章中,我们介绍了 SquareLine Studio 可视化 UI 开发工具,以及如何使用它来开发 UI.目前,它只适用于乐鑫官方推出自研的开发板.如果您想使用 SquareLine Stu ...

  3. RealView MDK开发工具

    RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具.RealView MDK集成了业内最领 ...

  4. 乐鑫WIFI芯片开发流程梳理-工具链、编译和下载

    最近开始基于乐鑫ESP32的WIFI模组的软件开发,首先要做整套流程的梳理,乐鑫官网以及安信可上已经有了较为系统的资料,但是在实现过程中也遇到了一些问题,花了几天去解决,所以为了总结,也为了给其他人提 ...

  5. 乐鑫ESP-IDF开发环境搭建之2022新版

    乐鑫ESP-IDF开发环境搭建之2022新版 前言 许久没有更新,工作压力有点大.最近趁着618换了新笔记本电脑,联想的thinkbook的12700H核显版仅一年质保还抢不到,所以最后还是选了机械革 ...

  6. Alios-Thins教程连载 ①如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫esp8266,打印 HelloWorld 。(附带镜像)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何搭建阿里开源系统Alios-Things环境,烧录到乐鑫e ...

  7. 乐鑫Esp32学习之旅 23 安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  8. 乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  9. 使用乐鑫官方资源搭建基于Arduino的ESP32的开发环境

    目录 一.配置IDE管理器 二.自动安装板支持包 三.手动安装板支持包 四.网盘的ESP32全系列基本库的板支持包 使用乐鑫官方库搭建Arduino开发环境. 乐鑫官方Github:GitHub - ...

最新文章

  1. linux系统安全优化
  2. 《Unity开发实战》——3.9节鼠标悬停时高亮显示材质
  3. oracle 查阻塞日志,通过Oracle补充日志,找到锁阻塞源头的SQL
  4. Android插件框架VirtualAPK
  5. Error message Exception raised without specific error
  6. Enum、Stream
  7. java编程字_Java编程基本概念
  8. sqlite3的基本操作
  9. Android百度地图开发之开发第一个小应用,显示基础的地图页面
  10. datagrip jdbc驱动_datagrip离线安装驱动jar
  11. 业界唯一集成AI加速的服务器处理器,全新第二代至强巩固英特尔数据中心领导者地位
  12. Smali动态调试方法
  13. java8编程开发入门 李兴华_李兴华系列--JAVA详解视频(jdk1.8)及项目实战教程
  14. wince开发环境搭建与全套教程
  15. 教你轻松搞定Vue事件总线(EventBus)
  16. 【非参数统计01】非参数统计基本概念:假设检验,经验分布,ARE,分位数,秩检验,U统计量
  17. 计算机电源 3842,UC3842开关电源保护的几个技巧及电路图
  18. win7_64位安装AutoCAD2008详解_完美解决特性面板等局部英文的问题
  19. 大数据技术基础与应用
  20. 放大电路①---共射极放大电路

热门文章

  1. HTML5期末大作业:网站——卡通漫画游戏官方网页 (萌王) 13个页面 HTML+CSS+JavaScript ~ 学生HTML个人网页作业作品下载 ~ web课程设计网页规划与设计
  2. DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
  3. Bootstrap—实现圆角、圆形头像和响应式图片
  4. 《孙子兵法作战指挥之虚实篇》
  5. Linux下的多线程編程
  6. 基于Visual C++2010 与office2010开发办公自动化(14)-自定义excel2010工具栏
  7. python资讯_python学习-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....
  8. 李宁卖咖啡,意欲何为?
  9. AntiVir UNIX 在Ubuntu 8.04下的安装
  10. 数字化为宝马带来了什么