github代码快速批量下载
最近需要下载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代码快速批量下载相关推荐
- GitHub代码快速下载方法
GitHub代码快速下载方法 一.GitHub代下地址 二.码云(gitee) 一.GitHub代下地址 GitHub是最大的开源代码托管平台,上面有众多开源的代码供软件研究人员参考使用,然而美中不足 ...
- 2021-03-10 Python多线程爬虫快速批量下载图片
Python多线程爬虫快速批量下载图片 1.完成这个需要导入的模块 urllib,random,queue(队列),threading,time,os,json 第三方模块的安装 键盘win+R,输入 ...
- Sentinel-1号卫星精密轨道数据简单快速批量下载
Sentinel-1号卫星精密轨道数据快速批量下载 快速下载哨兵一号精轨数据 精密轨道数据网站 sentineleof库实现一键获取精轨数据 快速下载哨兵一号精轨数据 哨兵数据干涉处理需要精轨数据,简 ...
- 如何用代码来快速批量下载人教社中小学电子教材
昨天看新闻,说人教社开放了人教版中小学教材电子版的春季教材(下载地址:http://bp.pep.com.cn/jc/ ),就想着给儿子全下载下来以备后用.不过人工下载真是麻烦枯燥,为了省事,就写个爬 ...
- python 批量下载 代码_python 批量下载文件
有时候看到好看的视频就想保存到本地,但是有的网站视频都是分段的,先去请求一个文件列表,再按照列表去拼接请求分段视频. 就类似这样:(这是开讲了某期的视频请求列表 http://hls.cntv.mya ...
- 快速批量下载视频you-get,B站视频下载工具
官方详细中文说明:官方详细中文说明 需要安装python,然后pip3 install you-get/pip2 install you-get即完成,或者直接pip install you-get. ...
- Google Docs Download - 快速批量下载 Google Docs 文档
Google Docs Download是Firefox 的 Greasemonkey 脚本,用来下载 Google Docs 文档,配合 DownThemAll 扩展,可实现批量下载 . 今天和 G ...
- 在linux下载github代码,linux 定时下载github最新代码
场景:网站的代码在github上托管,静态网站部署在服务器上,每次自己修改完本地代码后,提交到github上,需要自己去服务器上执行git pull 拉取最新代码, 为了解决这种操作,自己再服务器上 ...
- python下载图片代码并解析_Python爬取小姐姐图片代码_批量下载
本帖最后由 OnlineYx 于 2021-1-13 14:44 编辑 我试着改了一下,写了个循环和判断,输出起始网页的ID和结束网页的ID就能批量地下载小姐姐了. 001.png (83.38 KB ...
最新文章
- 什么甜食可以代表你的家乡?
- UVA - 133 ​​​​​​​The Dole Queue
- JEECG 缓存用法
- seo图片的alt属性介绍及写法?
- jquery radio取值,checkbox取值,select取值,radio选中,
- Scrapy框架学习(1)
- 计算机英语讲课笔记(2020-6-13)
- js放到head中失效的原因与解决方法
- 是不是Cookie让禁用了,Session就一定不能用了呢
- rm -f .... 恢复
- vue require图片_前后端分离当下,后端同学总结的手动构建vue项目
- KiCad: 一个电子原理图设计和布局创建套件
- 笔记本装服务器系统 无线网卡无法驱动,笔记本Win8.1系统无线网卡驱动装不上如何解决...
- 尝试用朴素贝叶斯分析借款信用等级
- “数字孪生”语境下的城市:拼图模式与航向之争
- 什么是winpe,winpe系统有什么作用?
- vue2.0引入antd
- python3 字典遍历操作
- 测试小故事74:没有计划的日子
- tesseract 安装及使用