最近需要下载github代码发现速度出奇的慢,修改hosts效果也不明显,加上github代码内有些文件夹是以@XXXX形式的链接存在,需使用 --recurse-submodules 递归下载子文件夹。
好在发现https://hub.fastgit.org/ 包括国内一些镜像网站提供了一个国内快速下载github的解决方案。
用https://hub.fastgit.org/ 直接替换 https://github.com/可加快下载速度。
但是递归下载子模块时仍然需要链接到https://github.com/下载,导致子模块下载出错。
需要手动将下载后的项目文件夹中的“.gitmodule”文件内的
url = https://github.com/xxxx 修改文为:url = https://hub.fastgit.org/XXXX
单项目下载还可以接受,批量下载则比较麻烦,因此写了一个简单的批处理进行解决
注:此批处理默认按最新tag下载分支,通常情况下按tag下载分支都可以编译通过,按branch下载有时候不能编译通过,因此以最新tag为准下载分支。
fastgit.bat //单个调用
call_fastgit.bat // 批量调用
github_url //github项目链接地址
fastgit.bat 内容如下

@echo off
setlocal enabledelayedexpansion
echo "Usage:fastgit.bat https://github.com/horsicq/stringsx64dbg.git"
echo %1
set remain=%1
set str=%remain:github.com=hub.fastgit.org%
echo "下载地址:%str%"
set toFind=git
set isFind=false
set now=
set next=
:loop
for /f "tokens=1* delims=./" %%a in ("%remain%") do (::echo %%bset now=%%aset next=%%b::pauseif "%toFind%"=="%%b" (set isFind=true::echo %now% findedgoto :finded)set remain=%%b
)
if defined remain goto :loop
:finded
git clone %str%
cd %now%
git tag
git describe --tags --abbrev=0
for /f "delims=" %%i in ('git tag') do set new_tag=%%i
cd ..
rmdir /s /q %now%
echo 下载:git clone -b %new_tag% %str%
git clone -b %new_tag% %str%
cd %now%
SET modules= %~dp0%now%\.gitmodules
if exist %modules% (goto :gitmodules_replace)
) else (goto :no_gitmodules
):gitmodules_replace
echo "进入gitmodules_replace"
echo %modules%
for /f "delims=" %%I in (.gitmodules) do (
set "aa=%%I"
set "aa=!aa:github.com=hub.fastgit.org!"
echo !aa!>>1.txt)
del .gitmodules
rename 1.txt .gitmodules
git submodule update --init --recursive
echo %now%" 下载成功!"
goto :exit:no_gitmodules
echo .gitmodules 不存在
goto :exit
:exit
cd  ..
echo “退出子目录”

call_fastgit.bat 内容如下:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (github_url.txt) do ( echo 开始下载:fastgit %%a&  fastgit %%a)
pause

github_url.txt内容如下:

https://github.com/xxxxx/aaaaa.git
https://github.com/xxxxx/bbbbb.git
https://github.com/xxxxxx/ccccc.git

运行call_fastgit.bat 即可开始下载

github代码快速批量下载相关推荐

  1. GitHub代码快速下载方法

    GitHub代码快速下载方法 一.GitHub代下地址 二.码云(gitee) 一.GitHub代下地址 GitHub是最大的开源代码托管平台,上面有众多开源的代码供软件研究人员参考使用,然而美中不足 ...

  2. 2021-03-10 Python多线程爬虫快速批量下载图片

    Python多线程爬虫快速批量下载图片 1.完成这个需要导入的模块 urllib,random,queue(队列),threading,time,os,json 第三方模块的安装 键盘win+R,输入 ...

  3. Sentinel-1号卫星精密轨道数据简单快速批量下载

    Sentinel-1号卫星精密轨道数据快速批量下载 快速下载哨兵一号精轨数据 精密轨道数据网站 sentineleof库实现一键获取精轨数据 快速下载哨兵一号精轨数据 哨兵数据干涉处理需要精轨数据,简 ...

  4. 如何用代码来快速批量下载人教社中小学电子教材

    昨天看新闻,说人教社开放了人教版中小学教材电子版的春季教材(下载地址:http://bp.pep.com.cn/jc/ ),就想着给儿子全下载下来以备后用.不过人工下载真是麻烦枯燥,为了省事,就写个爬 ...

  5. python 批量下载 代码_python 批量下载文件

    有时候看到好看的视频就想保存到本地,但是有的网站视频都是分段的,先去请求一个文件列表,再按照列表去拼接请求分段视频. 就类似这样:(这是开讲了某期的视频请求列表 http://hls.cntv.mya ...

  6. 快速批量下载视频you-get,B站视频下载工具

    官方详细中文说明:官方详细中文说明 需要安装python,然后pip3 install you-get/pip2 install you-get即完成,或者直接pip install you-get. ...

  7. Google Docs Download - 快速批量下载 Google Docs 文档

    Google Docs Download是Firefox 的 Greasemonkey 脚本,用来下载 Google Docs 文档,配合 DownThemAll 扩展,可实现批量下载 . 今天和 G ...

  8. 在linux下载github代码,linux 定时下载github最新代码

    场景:网站的代码在github上托管,静态网站部署在服务器上,每次自己修改完本地代码后,提交到github上,需要自己去服务器上执行git pull 拉取最新代码, 为了解决这种操作,自己再服务器上  ...

  9. python下载图片代码并解析_Python爬取小姐姐图片代码_批量下载

    本帖最后由 OnlineYx 于 2021-1-13 14:44 编辑 我试着改了一下,写了个循环和判断,输出起始网页的ID和结束网页的ID就能批量地下载小姐姐了. 001.png (83.38 KB ...

最新文章

  1. 什么甜食可以代表你的家乡?
  2. UVA - 133 ​​​​​​​The Dole Queue
  3. JEECG 缓存用法
  4. seo图片的alt属性介绍及写法?
  5. jquery radio取值,checkbox取值,select取值,radio选中,
  6. Scrapy框架学习(1)
  7. 计算机英语讲课笔记(2020-6-13)
  8. js放到head中失效的原因与解决方法
  9. 是不是Cookie让禁用了,Session就一定不能用了呢
  10. rm -f .... 恢复
  11. vue require图片_前后端分离当下,后端同学总结的手动构建vue项目
  12. KiCad: 一个电子原理图设计和布局创建套件
  13. 笔记本装服务器系统 无线网卡无法驱动,笔记本Win8.1系统无线网卡驱动装不上如何解决...
  14. 尝试用朴素贝叶斯分析借款信用等级
  15. “数字孪生”语境下的城市:拼图模式与航向之争
  16. 什么是winpe,winpe系统有什么作用?
  17. vue2.0引入antd
  18. python3 字典遍历操作
  19. 测试小故事74:没有计划的日子
  20. tesseract 安装及使用

热门文章

  1. 从零开始的博客建站之旅——开篇
  2. 为什么我觉得做在线教育平台的都不靠谱
  3. 计算机网络知识点——12.传输层
  4. 阿宽食品冲刺上市:2021年利润大幅下滑,方便粉丝收入波动明显
  5. Android 开发判断用户是否安装微信和QQ并跳转过去
  6. PHP+Mysql学习笔记
  7. 11讲 | STM32单片机实现ADC采集功能
  8. 网站域名备案后,被提示公安备案,如何操作?有什么区别?一文读懂!
  9. 杰里之 SPI 从机使用注意事项【篇】
  10. ACL 主席周明:一起拥抱 ACL 和 NLP 的光明未来(附下载)