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

文章目录

    • [1\. 引言](#1. 引言)
    • [2\. 工具官网](#2. 工具官网)
    • [3\. 官方教程](#3. 官方教程)
    • [4\. 测试用的网址](#4. 测试用的网址)
    • [5\. 安装](#5. 安装)
      • [5.1. 使用winget安装](#5.1. 使用winget安装)
      • [5.2. 查看gh是否安装成功了](#5.2. 查看gh是否安装成功了)
    • [6\. 使用](#6. 使用)
      • [6.1. 进行GitHub授权](#6.1. 进行GitHub授权)
      • [6.1.1. 授权](#6.1.1. 授权)
      • [6.1.2. 授权成功](#6.1.2. 授权成功)
      • [6.2 查看指定仓库中的所有版本的release](#6.2 查看指定仓库中的所有版本的release)
      • [6.2.1. 默认的30个版本](#6.2.1. 默认的30个版本)
      • [6.2.2. 自定义的100个版本](#6.2.2. 自定义的100个版本)
      • [6.3 下载特定版本的release](#6.3 下载特定版本的release)
      • [6.4 下载最新版本的release](#6.4 下载最新版本的release)
      • [6.5 下载最新发行版的源代码存档](#6.5 下载最新发行版的源代码存档)
      • [6.6 下载特定发行版的源代码存档](#6.6 下载特定发行版的源代码存档)
      • [6.7 下载所有版本的release源代码存档](#6.7 下载所有版本的release源代码存档)
    • [7\. 问题](#7. 问题)
      • [7.1. 为什么显示的版本号不全?](#7.1. 为什么显示的版本号不全?)
      • [7.2 failed to authenticate via web browser:](#7.2 failed to authenticate via web browser:)

1. 引言

  • GitHub上面的仓库往往有很多版本,有些版本很好用,有些版本上面一大堆bug。因此,我们需要对仓库上的各个release软件进行筛选,找到最好用的那个软件。但如果一个个手动下载的话,效率太低了,因此我们可以用CL这款工具进行批量化asset下载,简单快捷高效。

2. 工具官网

3. 官方教程

4. 测试用的网址

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. 授权

  • 使用浏览器登录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"

相关推荐
vvw&6 小时前
如何在 Ubuntu 22 04 上安装和配置 Ansible 自动化平台
linux·运维·服务器·ubuntu·自动化·github·ansible
油泼辣子多加13 小时前
2024年11月23日Github流行趋势
github
n***859415 小时前
一键AI换脸软件,支持表情控制,唇形同步Facefusion-3.0.0发布!支持N卡和CPU,一键启动包
人工智能·github·开源软件
夏沫的梦18 小时前
Git命令使用与原理详解
git·gitlab·github
Huazzi.1 天前
免费好用的静态网页托管平台全面对比介绍
前端·网络·github·web
NocoBase1 天前
⭐️ GitHub Star 数量前十的工作流项目
开源·github·workflow·工作流引擎·工作流
Smile丶凉轩2 天前
微服务即时通讯系统的实现(服务端)----(1)
c++·git·微服务·github
pumpkin845142 天前
GitHub 和 GitLab
gitlab·github
会讲英语的码农2 天前
Git项目管理
gitee·github
油泼辣子多加2 天前
2024年11月21日Github流行趋势
github