使用cli批量下载GitHub仓库中所有的release
文章目录
- 1\. 引言
- 2\. 工具官网
- 3\. 官方教程
- 4\. 测试用的网址
- 5\. 安装
- 5.1. 使用winget安装
- 5.2. 查看gh是否安装成功了
- 6\. 使用
- 6.1. 进行GitHub授权
- 6.1.1. 授权
- 6.1.2. 授权成功
- 6.2 查看指定仓库中的所有版本的release
- 6.2.1. 默认的30个版本
- 6.2.2. 自定义的100个版本
- 6.3 下载特定版本的release
- 6.4 下载最新版本的release
- 6.5 下载最新发行版的源代码存档
- 6.6 下载特定发行版的源代码存档
- 6.7 下载所有版本的release源代码存档
- 7\. 问题
- 7.1. 为什么显示的版本号不全?
- 7.2 failed to authenticate via web browser:
1. 引言
- GitHub上面的仓库往往有很多版本,有些版本很好用,有些版本上面一大堆bug。因此,我们需要对仓库上的各个release软件进行筛选,找到最好用的那个软件。但如果一个个手动下载的话,效率太低了,因此我们可以用CL这款工具进行批量化asset下载,简单快捷高效。
2. 工具官网
- GitHub - cli/cli: GitHub’s official command line tool
3. 官方教程
- git - How to download all files from GitHub release? - Stack Overflow
- gh release download | GitHub CLI 中文手册
4. 测试用的网址
- Releases · Make-md/makemd · GitHub
5. 安装
5.1. 使用winget安装
- winget install --id GitHub.cli


安装完成

5.2. 查看gh是否安装成功了
- 重启打开一个PowerShell中断
- gh --version
- 如果可以显示出版本号,就表明安装成功了

6. 使用
6.1. 进行GitHub授权
- 在使用之前需要先进行授权,否则会显示下面的问题

- 直接输入gh auth login
- 个人用户一般选择默认的GitHub服务,直接按Enter键

- 选择GitHub的方式,可以用默认的HTTPS方式

6.1.1. 授权

- 如果出错的话,就给PowerShell添加代理
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
- 使用浏览器登录GitHub,打开控制台复制对应的token,粘贴过来

github.com/settings/tokens 如果你之前没有创建过Token的话,就新建一个Token

- 然后粘贴过来粘贴到终端的时候是没有任何提示的,不要粘贴两次
按下确定之后,会使用浏览器打开GitHub,同时命令行终端上面会产生一个八位字符 -

将其粘贴到浏览器的输入框中,点击继续 -

之后选择授权即可 -

6.1.2. 授权成功


6.2 查看指定仓库中的所有版本的release
6.2.1. 默认的30个版本
gh release list -R <username>/<repo>
比如自己要下载Make-md/makemd,就修改代码为
gh release list -R Make-md/makemd
效果如下,是不是整整齐齐的,很养眼? -

6.2.2. 自定义的100个版本
gh release list -R Make-md/makemd --limit 100
6.3 下载特定版本的release
默认的模板为
gh release download <tag> -D <dest> -R <username>/<repo>
- 为自己需要下载的版本,为自己要下载的文件夹路径
修改后
gh release download 0.8.14 -D E:\Documents\Desktop -R Make-md/makemd
下载中

下载完


6.4 下载最新版本的release
- 不指定对应的tag参数,下载的就是最新版本的release
gh release download -D E:\Documents\Desktop -R Make-md/makemd
6.5 下载最新发行版的源代码存档
gh release download -D E:\Documents\Desktop\test -R Make-md/makemd -A zip

6.6 下载特定发行版的源代码存档
gh release download -D E:\Documents\Desktop -R Make-md/makemd 0.7.6 --archive=zip

6.7 下载所有版本的release源代码存档
- 下次使用的时候,只需要更改一下仓库名称即可
gh release download -p "*" -D E:\Documents\Desktop -R Make-md/makemd
gh release list -R Make-md/makemd | Select-String -Pattern '\d+\.\d+(\.\d+)?' | %{$_.Matches.Value} | ForEach-Object {Write-Host "Downloading version $_..." ; gh release download $_ -D E:\Documents\Desktop\test -R Make-md/makemd -A zip}

- 最终下载完之后,可以看到很壮观的一长列

img
7. 问题
- 为什么有些版本明明存在,但却下载不下来?
- 单个下载的时候有可能也是不存在的
gh release download -D E:\Documents\Desktop -R Make-md/makemd 0.7.2 --archive=zip

是只存在标签,但却不存在实际的文件 -

7.1. 为什么显示的版本号不全?
- 这个仓库有7页,按理说版本应该非常多了,但却只能显示出来少量的几个版本

- gh release list -R Make-md/makemd

- 这是因为命令默认只会显示最近的30个版本
- 给命令加上一个限制之后,就显示出来了更多的版本

7.2 failed to authenticate via web browser:
- Post “https://github.com/login/device/code”: read tcp 192.168.3.41:61001->20.205.243.166:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
- 给PowerShell添加代理即可
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"

相关文章:
使用cli批量下载GitHub仓库中所有的release
文章目录 1\. 引言2\. 工具官网3\. 官方教程4\. 测试用的网址5\. 安装5.1. 使用winget安装5.2. 查看gh是否安装成功了 6\. 使用6.1. 进行GitHub授权6.1.1. 授权6.1.2. 授权成功6.2 查看指定仓库中的所有版本的release6.2.1. 默认的30个版本6.2.2. 自定义的100个版本6.3 下载特定…...
深入分析TaskView源码之触摸相关
问题背景 hi,粉丝朋友们: 大家好!android 10以后TaskView作为替代ActivityView的容器,在课程的分屏pip自由窗口专题也进行了相关的详细介绍分析。 这里再补充一下相关的TaskView和桌面内嵌情况下的触摸分析 主要问题点ÿ…...
键盘快捷键工具Keyboard Maestro mac中文版介绍
Keyboard Maestro mac是一款键盘快捷键工具,它可以帮助用户通过自定义快捷键来快速完成各种操作,提高工作效率。Keyboard Maestro支持多种快捷键组合,包括单键、双键、三键、四键组合等,用户可以根据自己的习惯进行设置。此外&…...
Dubbo开发系列
一、概述 以上是 Dubbo 的工作原理图,从抽象架构上分为两层:服务治理抽象控制面 和 Dubbo 数据面 。 服务治理控制面。服务治理控制面不是特指如注册中心类的单个具体组件,而是对 Dubbo 治理体系的抽象表达。控制面包含协调服务发现的注册中…...
周赛372(正难则反、枚举+贪心、异或位运算、离线+单调栈)
文章目录 周赛372[2937. 使三个字符串相等](https://leetcode.cn/problems/make-three-strings-equal/)模拟(正难则反) [2938. 区分黑球与白球](https://leetcode.cn/problems/separate-black-and-white-balls/)枚举 贪心 [2939. 最大异或乘积](https:/…...
存储区域网络(SAN)之FC-SAN和IP-SAN的比较
存储区域网络(Storage Area Network,SAN)用于将多个系统连接到存储设备和子系统。 早期FC-SAN: 采用光纤通道(Fibre Channel,FC)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。 传…...
Leetcode_45:跳跃游戏 II
题目描述: 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返…...
给新手教师的成长建议
随着教育的不断发展和进步,越来越多的新人加入到教师这个行列中来。从学生到教师,这是一个华丽的转身,需要我们不断地学习和成长。作为一名新手老师,如何才能快速成长呢?以下是一名老师教师给的几点建议: 一…...
新手教师如何迅速成长
对于许多新手教师来说,迈出教学的第一步可能会感到非常困难。不过,通过一些关键的策略和技巧,还是可以快速提升教学能力的,我将为大家提供一些实用的建议,帮助各位在教育领域迅速成长。 深入了解学科知识 作为一名老师…...
竞赛选题 深度学习验证码识别 - 机器视觉 python opencv
文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &#x…...
提升工作效率,使用AnyTXT Searcher实现远程办公速查公司电脑文件——“cpolar内网穿透”
文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况,异地办公或者不在公司,想找…...
mybatis使用foreach标签实现union集合操作
最近遇到一个场景就是Java开发中,需要循环多个表名,然后用同样的查询操作分别查表,最终得到N个表中查询的结果集合。在查询内容不一致时Java中跨表查询常用的是遍历表名集合循环查库,比较耗费资源,效率较低。在查询内容…...
请问DasViewer是否支持与业务系统集成,将业务的动态的数据实时的展示到三维模型上?
答:一般这种是以平台的方式来展示,云端地球实景三维建模云平台是专门做这一块的,可前往云端地球官网免费使用。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,…...
[ruby on rails]rack-cors, rack-attack
gem rack-attack gem rack-cors1. rack-attack 可以根据ip、域名等设置黑名单、设置访问频率 设置黑名单 # 新增 config/initializers/rack_attack.rb # 请求referer如果匹配不上设置的allowed_origins,返回403 forbidden Rack::Attack.blocklist(block bad domai…...
猫12分类:使用多线程爬取图片的Python程序
本文目标 对于猫12目标检测部分的数据集,采用网络爬虫来制作数据集。 在网络爬虫中,经常需要下载大量的图片。为了提高下载效率,可以使用多线程来并发地下载图片。本文将介绍如何使用Python编写一个多线程爬虫程序,用于爬取图片…...
《深度学习500问》外链笔记
1.这个是什么意思...
机器学习技术栈—— 概率学基础
机器学习技术栈—— 概率学基础 先验概率、后验概率、似然概率总体标准差和样本标准差 先验概率、后验概率、似然概率 首先 p ( w ∣ X ) p ( X ∣ w ) ∗ p ( w ) p ( X ) p(w|X) \frac{ p(X|w)*p(w)}{p(X)} p(w∣X)p(X)p(X∣w)∗p(w) 也就有 p ( w ∣ X ) ∝ p ( X ∣ …...
使用Redis实现分布式锁
Hi, I’m Shendi 使用Redis实现分布式锁 需求场景 需要使用到分布式锁的场景非常多,例如抢单等并发场景,这里举一个例子。 有一个商品,限量出售100个,一个用户下单,数量就减少一个,当剩下最后一个时&…...
linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解
一 、根据端口号 查看文件的部署位置 1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 netstat -tuln | grep 端口号-t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口…...
汽车标定技术--A2L格式分析
目录 1.A2L由来 2.A2L格式 2.1 PROJECT 2.2 MODULE中包含的内容 3. INCA和CANape兼容吗? 最近有朋友用Vector ASAP2Editor编译的A2L文件在INCA7.4中无法识别,我记得以前做的时候是可以识别的,难不成最近有什么变动吗?出于好…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
