使用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中无法识别,我记得以前做的时候是可以识别的,难不成最近有什么变动吗?出于好…...
如何永久保存微信聊天记录?WeChatMsg让珍贵对话永不消失
如何永久保存微信聊天记录?WeChatMsg让珍贵对话永不消失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeC…...
利用AI生成专业README:告别文档焦虑,提升项目协作效率
1. 项目概述:告别文档焦虑,用AI生成专业README每次新建一个项目,或者接手一个半成品,最头疼的是什么?对我而言,除了写代码本身,就是面对那个空荡荡的README.md文件。我知道它很重要——它是项目…...
Go语言实现LLaMA推理:从零构建本地大模型引擎
1. 项目概述:用Go语言实现LLaMA推理的野心与实践如果你是一名Golang开发者,同时对大语言模型(LLM)的运行原理和本地部署充满好奇,那么你很可能和我一样,曾对那个用C写成的、性能卓越但门槛不低的llama.cpp项…...
法律AI实战:基于OpenCLAW构建破产法智能辅助系统
1. 项目概述与核心价值最近在整理一些法律实务相关的工具和资源,发现了一个挺有意思的项目,叫“zhang-bankruptcy-law”。虽然项目描述和正文信息不多,但从项目名称和关键词来看,这应该是一个聚焦于中国破产法领域的知识库或技能工…...
从蓝牙信标失效到AI图像跨帧追踪,奇点大会失物招领系统演进史,深度解析4代技术迭代关键决策点
更多请点击: https://intelliparadigm.com 第一章:从蓝牙信标失效到AI图像跨帧追踪,奇点大会失物招领系统演进史,深度解析4代技术迭代关键决策点 在2021年首届奇点大会现场,部署的蓝牙iBeacon网络因展馆金属结构与高密…...
基于Vue3与Go的私有化ChatGPT Web应用部署与定制指南
1. 项目概述与核心价值最近在折腾一个自用的AI对话工具,核心需求很简单:想要一个界面清爽、响应迅速、能稳定连接主流大语言模型(比如GPT-4)的Web应用,并且最好能部署在我自己的服务器上,数据安全和隐私可控…...
Boost电路空载时为什么会“炸管”?一个仿真实验带你看清电压失控全过程
Boost电路空载炸管现象全解析:从仿真实验到工程防护 Boost电路作为开关电源设计的核心拓扑之一,其空载状态下的电压失控问题一直是工程师们关注的焦点。当负载突然断开时,看似稳定的电路可能瞬间变成"电压炸弹",轻则导致…...
如何突破AMD Ryzen处理器性能瓶颈?深入解析SMU调试工具的技术革命
如何突破AMD Ryzen处理器性能瓶颈?深入解析SMU调试工具的技术革命 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址:…...
Zotero插件市场:让插件管理像逛应用商店一样简单
Zotero插件市场:让插件管理像逛应用商店一样简单 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 你是否…...
Ruby on Rails的魔法:理解redirect_to的奥秘
在Ruby on Rails框架中,redirect_to是开发者常用的一个方法,它能够实现页面重定向,帮助用户在操作后导航到新的页面或资源。然而,对于初学者来说,这个方法似乎带着一丝“魔法”,特别是当我们看到如redirect_to @article这样的代码时。这篇博客将详细探讨Rails中redirect_…...
