当前位置: 首页 > news >正文

使用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&#xff0c;粉丝朋友们&#xff1a; 大家好&#xff01;android 10以后TaskView作为替代ActivityView的容器&#xff0c;在课程的分屏pip自由窗口专题也进行了相关的详细介绍分析。 这里再补充一下相关的TaskView和桌面内嵌情况下的触摸分析 主要问题点&#xff…...

键盘快捷键工具Keyboard Maestro mac中文版介绍

Keyboard Maestro mac是一款键盘快捷键工具&#xff0c;它可以帮助用户通过自定义快捷键来快速完成各种操作&#xff0c;提高工作效率。Keyboard Maestro支持多种快捷键组合&#xff0c;包括单键、双键、三键、四键组合等&#xff0c;用户可以根据自己的习惯进行设置。此外&…...

Dubbo开发系列

一、概述 以上是 Dubbo 的工作原理图&#xff0c;从抽象架构上分为两层&#xff1a;服务治理抽象控制面 和 Dubbo 数据面 。 服务治理控制面。服务治理控制面不是特指如注册中心类的单个具体组件&#xff0c;而是对 Dubbo 治理体系的抽象表达。控制面包含协调服务发现的注册中…...

周赛372(正难则反、枚举+贪心、异或位运算、离线+单调栈)

文章目录 周赛372[2937. 使三个字符串相等](https://leetcode.cn/problems/make-three-strings-equal/)模拟&#xff08;正难则反&#xff09; [2938. 区分黑球与白球](https://leetcode.cn/problems/separate-black-and-white-balls/)枚举 贪心 [2939. 最大异或乘积](https:/…...

存储区域网络(SAN)之FC-SAN和IP-SAN的比较

存储区域网络(Storage Area Network&#xff0c;SAN)用于将多个系统连接到存储设备和子系统。 早期FC-SAN&#xff1a; 采用光纤通道(Fibre Channel&#xff0c;FC)技术&#xff0c;通过光纤通道交换机连接存储阵列和服务器主机&#xff0c;建立专用于数据存储的区域网络。 传…...

Leetcode_45:跳跃游戏 II

题目描述&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返…...

给新手教师的成长建议

随着教育的不断发展和进步&#xff0c;越来越多的新人加入到教师这个行列中来。从学生到教师&#xff0c;这是一个华丽的转身&#xff0c;需要我们不断地学习和成长。作为一名新手老师&#xff0c;如何才能快速成长呢&#xff1f;以下是一名老师教师给的几点建议&#xff1a; 一…...

新手教师如何迅速成长

对于许多新手教师来说&#xff0c;迈出教学的第一步可能会感到非常困难。不过&#xff0c;通过一些关键的策略和技巧&#xff0c;还是可以快速提升教学能力的&#xff0c;我将为大家提供一些实用的建议&#xff0c;帮助各位在教育领域迅速成长。 深入了解学科知识 作为一名老师…...

竞赛选题 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…...

提升工作效率,使用AnyTXT Searcher实现远程办公速查公司电脑文件——“cpolar内网穿透”

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况&#xff0c;异地办公或者不在公司&#xff0c;想找…...

mybatis使用foreach标签实现union集合操作

最近遇到一个场景就是Java开发中&#xff0c;需要循环多个表名&#xff0c;然后用同样的查询操作分别查表&#xff0c;最终得到N个表中查询的结果集合。在查询内容不一致时Java中跨表查询常用的是遍历表名集合循环查库&#xff0c;比较耗费资源&#xff0c;效率较低。在查询内容…...

请问DasViewer是否支持与业务系统集成,将业务的动态的数据实时的展示到三维模型上?

答&#xff1a;一般这种是以平台的方式来展示&#xff0c;云端地球实景三维建模云平台是专门做这一块的&#xff0c;可前往云端地球官网免费使用。 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&#xff0c;返回403 forbidden Rack::Attack.blocklist(block bad domai…...

猫12分类:使用多线程爬取图片的Python程序

本文目标 对于猫12目标检测部分的数据集&#xff0c;采用网络爬虫来制作数据集。 在网络爬虫中&#xff0c;经常需要下载大量的图片。为了提高下载效率&#xff0c;可以使用多线程来并发地下载图片。本文将介绍如何使用Python编写一个多线程爬虫程序&#xff0c;用于爬取图片…...

《深度学习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实现分布式锁 需求场景 需要使用到分布式锁的场景非常多&#xff0c;例如抢单等并发场景&#xff0c;这里举一个例子。 有一个商品&#xff0c;限量出售100个&#xff0c;一个用户下单&#xff0c;数量就减少一个&#xff0c;当剩下最后一个时&…...

linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

一 、根据端口号 查看文件的部署位置 1.1 使用查看端口号对应的进程信息 方式一 &#xff1a; 使用netstat命令 netstat -tuln | grep 端口号-t&#xff1a;显示TCP连接 -u&#xff1a;显示UDP连接 -l&#xff1a;仅显示监听状态的连接 -n&#xff1a;以数字形式显示端口…...

汽车标定技术--A2L格式分析

目录 1.A2L由来 2.A2L格式 2.1 PROJECT 2.2 MODULE中包含的内容 3. INCA和CANape兼容吗&#xff1f; 最近有朋友用Vector ASAP2Editor编译的A2L文件在INCA7.4中无法识别&#xff0c;我记得以前做的时候是可以识别的&#xff0c;难不成最近有什么变动吗&#xff1f;出于好…...

Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用

TFTP服务器 TFTP&#xff08;Trivial File Transfer Protocol&#xff09;即简单文件传输协议&#xff0c;是TCP/IP协议中一个用来在客户机与服务器之间进行简单文件传输的协议&#xff0c;提供不复杂、开销不大的文件传输服务。端口号为69 1、使用客户服务器方式和使用UDP数据…...

git下载安装配置及Git在Gitee上拉取和上传代码教程

一、Git下载安装和配置 Git是一个分布式版本控制系统&#xff0c;用于跟踪文件的变化并协作开发。以下是安装和配置Git的简单步骤&#xff1a; 安装Git 下载Git安装程序&#xff1a;Git下载地址。 运行安装程序&#xff0c;按照提示进行安装。 在安装过程中&#xff0c;选择…...

ospf路由选路及路由汇总

一、知识补充 1、ABR和ASBR 1.1 ABR ABR指的是边界路由&#xff0c;通常位于两个或多个区域之间&#xff0c;用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时&#xff0c;它就成为了ABR&#xff0c;它需要维护每个区域的拓扑信息和路由表&#x…...

Oracle 11g 多数据库环境下的TDE设置

19c的TDE wallet的设置是在数据库中设置的&#xff0c;也就是粒度为数据库&#xff0c;因此不会有冲突。 而11g的设置是在sqlnet.ora中&#xff0c;因此有可能产生冲突。 这里先将一个重要概念&#xff0c;按照文档的说法&#xff0c;wallet是不能被数据库共享的。 If there …...

vue3使用pinia实现数据缓存

文章目录 前言一、pinia是什么&#xff1f;二、安装pinia三、注册pinia四、使用pinia定义数据及方法使用 优化如有启发&#xff0c;可点赞收藏哟~ 前言 vue2以前一直使用vuex实现状态管理 vue3之后推出了pinia… 一、pinia是什么&#xff1f; 直观、类型安全、轻便灵活的Vue …...

【CSS】min 和 max 函数(设置最大最小值)

文章目录 min() 函数&#xff1a;允许你从逗号分隔符表达式中选择一个最小值作为 CSS 的属性值 width: min(1vw, 4em, 80px);max() 函数&#xff1a;让你可以从一个逗号分隔的表达式列表中选择最大&#xff08;正方向&#xff09;的值作为属性的值 width: max(10vw, 4em, 80p…...

ip地址跟wifi有关系吗

​你可能已经听说过IP地址和Wi-Fi这两个词&#xff0c;但你有没有想过它们之间是否有关系呢&#xff1f;在这篇文章中&#xff0c;我们将深入探讨IP地址与Wi-Fi之间的密切联系。从基本概念到应用实例&#xff0c;虎观代理小二二将为您解答这个问题。 首先&#xff0c;让我们来了…...

[算法学习笔记](超全)概率与期望

引子 先来讲个故事 话说在神奇的OI大陆上&#xff0c;有一只paper mouse 有一天&#xff0c;它去商场购物&#xff0c;正好是11.11&#xff0c;商店有活动 它很荣幸被选上给1832抽奖 在抽奖箱里&#xff0c;有3个篮蓝球&#xff0c;12个红球 paper mouse能抽3次 蒟蒻的p…...

SpringCloud相关

文章目录 Gateway动态路由灰度策略 FeignRibbon SpringCloud五大组件分别对应&#xff08;1&#xff09;服务注册与发现&#xff08;2&#xff09;客服端负载均衡&#xff08;3&#xff09;断路器&#xff08;4&#xff09;服务网关&#xff08;5&#xff09;分布式配置 Gatewa…...

在 Linux 和 Windows 系统下查看 CUDA 和 cuDNN 版本的方法,包括使用 nvcc 命令

一直都比较头疼cuda与cudnn版本查看问题&#xff0c;两个系统不一样也不好查看&#xff0c;命令不通用 Linux 查看 CUDA 版本 方法一&#xff1a; nvcc --version或 nvcc -V如果 nvcc 没有安装&#xff0c;那么用方法二。 方法二&#xff1a; 去安装目录下查看&#xff…...