使用cli批量下载GitHub仓库中所有的release

news2024/9/21 4:27:22

文章目录

    • 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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1231086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为数通HCIP 821BGP 知识点整理

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

《数据:挖掘价值,洞察未来

大数据&#xff1a;挖掘价值&#xff0c;洞察未来 我们正身处一个数据驱动的时代&#xff0c;大数据已经成为企业和个人决策的重要依据。本文将深入探讨大数据的魅力&#xff0c;挖掘其价值&#xff0c;并洞察未来发展趋势&#xff0c;让我们一起领略大数据的无穷奥秘。 一、大…

js-WebApi笔记之BOM

目录 window对象 定时器-延迟函数 location对象 navigator对象 histroy对象 本地存储 localStorage sessionStorage localStorage 存储复杂数据类型 window对象 BOM (Browser Object Model ) 是浏览器对象模型 window对象是一个全局对象&#xff0c;也可以说是JavaScr…

Redis字典实现

前言 字典又称符号表&#xff0c;关联数组或者映射(map)。是一种保存键值对的抽象数据结构。在字典中一个键和一个值进行关联。这些关联的值被称为键值对。 字典中每一个键都是独一无二的&#xff0c;没有重复的。我们可以通过键来查找值&#xff0c;更新值或者删除整个键值对等…

svn问题集

被锁定&#xff0c;无法拉取提交 解决方法

基于人工水母算法优化概率神经网络PNN的分类预测 - 附代码

基于人工水母算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于人工水母算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于人工水母优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

[OpenAirInterface-01]什么是OAI?OAI在github中源代码的存放结构

文章目录 前言&#xff1a;什么是软件无线电SDR第1章 什么是OAI&#xff08;OpenAirInterface&#xff09;1.1 来自官网的概述1.2 来自github的概述1.3 来自我的解读 第2章 什么是OSA2.1 OSA概述&#xff1a;2.2 OSA联盟职责2.3 OpenAirInterface github成员的角色 第3章 常见的…

【运维篇】5.4 Redis 并发延迟检测

文章目录 0.前言Redis工作原理可能引起并发延迟的常见操作和命令并发延迟检测分析和解读监控数据&#xff1a;优化并发延迟的策略 1. 检查CPU情况2. 检查网络情况3. 检查系统情况4. 检查连接数5. 检查持久化 &#xff1a;6. 检查命令执行情况 0.前言 Redis 6.0版本之前其使用单…

《视觉SLAM十四讲》-- 建图

11 建图 11.1 概述 &#xff08;1&#xff09;地图的几类用处&#xff1a; 定位&#xff1a;导航&#xff1a;机器人在地图中进行路径规划&#xff1b;避障重建交互&#xff1a;人与地图之间的互动 &#xff08;2&#xff09;几类地图 稀疏地图稠密地图语义地图 11.2 单目…

java学习part06数组

62-数组-数组的概述_哔哩哔哩_bilibili 这篇 Java 基础&#xff0c;我吹不动了 - 掘金 (juejin.cn) 1.数组概念 重点 2.数组声明和初始化 new的时候要么给出静态初始化的数据{a,b,c}&#xff0c;要么给出动态初始化指定长度 [4]。 否则报错&#xff0c;初始化必须确定长度…

Positive Technologies 利用 PT Cloud Application Firewall 保护中小型企业的网络资源

云产品按月订购&#xff0c;无需购买硬件资源 PT Cloud Application Firewall 是 Positive Technologies 推出的首个用于保护网络应用程序的商用云产品。Web 应用层防火墙 (web application firewall, WAF) 现在可以通过 技术合作伙伴——授权服务商和云提供商以订购方式提供1…

获取阿里云Docker镜像加速器

1、阿里云官网&#xff08;www.aliyun.com&#xff09;注册账号 2、打开“控制台首页” 控制台首页地址&#xff1a;https://home.console.aliyun.com/home/dashboard/ProductAndService 3、点击“概览->容器镜像服务 ACR” 4、打开“镜像工具->镜像加速器”页面&#x…

FPGA实现双向电平转换

网上搜了一圈&#xff0c;好像没看到的类似的中文资料&#xff0c;不过MicroSemi有个文档AC349上给出了完整的解决方案&#xff0c;还有参考代码。 话不多说&#xff0c;看图&#xff1a; 欲知详情的朋友&#xff0c;请参考 AC349

vue过渡,vue3组合式API详细介绍

7.过渡效果 vue提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动画 Transition会在一个元素或组件进入和离开DOM时应用动画TransitionGroup会在一个v-for列表中的元素或组件被插入,移动,或移除时应用动画 7-1过渡效果 过渡模式 <Transition mode"out-in&q…

测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发

正交实验设计方法 一.方法简介 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人&#xff0c;给软件测试带来沉重的负担&#xff0c;为了有效…

YOLO目标检测——无人机航拍输电线路绝缘瓷瓶数据集下载分享【对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;电力系统运维、状态监测与故障诊断、智能电网建设等领域数据集说明&#xff1a;无人机航拍输电线路绝缘瓷瓶数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量…

云计算赛项容器云2023搭建

部署容器云平台[5 分] 使 用 OpenStack 私 有 云 平 台 创 建 两 台 云 主 机 &#xff0c; 云 主 机 类 型 使 用 4vCPU/12G/100G 类型&#xff0c;分别作为 Kubernetes 集群的 Master 节点和 node 节点&#xff0c; 然后完成 Kubernetes 集群的部署&#xff0c;并完成 Istio …

Linux文件目录以及文件类型

文章目录 Home根目录 //bin/sbin/etc/root/lib/dev/proc/sys/tmp/boot/mnt/media/usr 文件类型 Home 当尝试使用gedit等编辑器保存文件时&#xff0c;系统默认通常会先打开个人用户的“家”&#xff08;home&#xff09;目录&#xff0c; 建议在通常情况下个人相关的内容也是保…

Unity中Shader法线贴图(下)理论篇

文章目录 前言一、采样出错的原因二、切线空间是什么&#xff1f;切线空间图解&#xff1a; 三、计算方式1、统一变换到切线空间下进行计算2、统一变换到世界空间下进行计算 四、一般统一变换到世界空间下的坐标进行计算1、求M^-1^2、求出n~w~ 前言 这篇文章&#xff0c;主要解…

使用 VPN ,一定要知道的几个真相!

你们好&#xff0c;我的网工朋友。 今天想和你聊聊VPN。在VPN出现之前&#xff0c;企业分支之间的数据传输只能依靠现有物理网络&#xff08;例如Internet&#xff09;。 但由于Internet中存在多种不安全因素&#xff0c;报文容易被网络中的黑客窃取或篡改&#xff0c;最终造…