0


无需克隆整个仓库,下载Github特定文件夹内的文件

注意:此方法对Git-LFS方式上传的文件可能无效!!!

一.打开PowerShel运行命令

在 Windows 中,可以通过以下步骤打开 PowerShell 终端:

  1. 使用搜索功能:- 点击 Windows 按钮(开始菜单左下角的 Windows 图标)。- 在搜索框中键入 "PowerShell" 或 "Windows PowerShell"。- 在搜索结果中,选择 "Windows PowerShell" 或 "Windows PowerShell ISE"。
  2. 使用菜单:- 右键点击 Windows 按钮(开始菜单左下角的 Windows 图标)。- 选择 "Windows PowerShell" 或 "Windows PowerShell ISE"。
  3. 使用运行命令:- 按下 Win + R 组合键,打开运行对话框。- 键入 powershellpowershell_ise,然后按 Enter 键。

二.下载仓库文件

2.1下载公开仓库文件

$owner = " Your owner"
$repo = "Your  repo"
$branch = "Your branch"
$path = "Your path"

# API 请求 URL
$url = "https://api.github.com/repos/$owner/$repo/contents/$path?ref=$branch"

# 发送 API 请求
$response = Invoke-RestMethod -Uri $url

# 下载文件
foreach ($file in $response) {
    $fileUrl = $file.download_url
    $fileName = $file.name
    Invoke-WebRequest -Uri $fileUrl -OutFile $fileName
}

Write-Host "Files downloaded successfully."

假设下载HITCSLab2仓库master分支下的文件夹"概率论论文",并将文件放到D:\111中,示例如下:

即可下载成功。

如果你想要使用 Python 脚本下载

HITCSLab2

仓库下的文件夹

概率论论文

,你可以使用

requests

库。确保你已经安装这个库:

pip install requests

然后,你可以使用以下 Python 脚本:

import requests
import os

# 仓库信息
owner = "HITCSzwx"
repo = "HITCSLab2"
branch = "master"
path = "概率论论文"

# GitHub API 请求 URL
url = f"https://api.github.com/repos/{owner}/{repo}/contents/{path}?ref={branch}"

# 发送 API 请求
response = requests.get(url)
response.raise_for_status()  # 检查请求是否成功

# 下载文件
for file in response.json():
    file_url = file["download_url"]
    file_name = os.path.join(path, file["name"])

    file_response = requests.get(file_url)
    file_response.raise_for_status()

    with open(file_name, "wb") as f:
        f.write(file_response.content)

print(f"Files from '{path}' downloaded successfully.")

这个脚本使用 Python 中的

requests

库,通过 GitHub API 获取指定仓库、分支和文件夹路径下的文件列表,并下载这些文件到当前目录。确保替换脚本中的

owner

repo

branch

path

等参数为你的实际值。

请记得在运行脚本之前安装

requests

库。

2.2下载私有仓库文件

$owner = "HITCSzwx"
$repo = "HITCSLab2"
$branch = "master"
$path = "概率论论文"

# GitHub Personal Access Token
$token = "<YOUR_ACCESS_TOKEN>"

# API 请求 URL
$url = "https://api.github.com/repos/$owner/$repo/contents/$path?ref=$branch"

# 设置请求头
$headers = @{
    Authorization = "Bearer $token"
    Accept = "application/vnd.github.v3.raw"
}

# 发送 API 请求
$response = Invoke-RestMethod -Uri $url -Headers $headers

# 下载文件
foreach ($file in $response) {
    $fileUrl = $file.download_url
    $fileName = $file.name
    Invoke-WebRequest -Uri $fileUrl -OutFile $fileName
}

Write-Host "Files downloaded successfully."

对于token怎么获得

  1. 在 GitHub 上,登录到你的账户。
  2. 点击右上角的头像,然后选择 "Settings"(设置)。
  3. 在左侧导航栏中,选择 "Developer settings"(开发者设置)。
  4. 在 "Personal access tokens"(访问令牌)部分,点击 "Generate new token"(生成令牌)。
  5. 在 "Note" 字段中,为你的令牌提供一个描述性的名称,以便日后识别这个令牌是用于何种目的。
  6. 在 "Select scopes"(选择范围)部分,选择需要的权限。如果只是需要访问公共仓库,只需选择 "public_repo" 权限;如果需要访问私有仓库,还需选择 "repo" 权限。如果要访问私有仓库的 LFS 文件,还需要选择 "read:user" 和 "read:org"。
  7. 点击 "Generate token"(生成令牌)。
  8. 复制生成的令牌。请注意,这是你唯一的机会复制令牌,因为 GitHub 不会存储令牌的内容。

注意:此方法对Git-LFS方式上传的文件可能无效!!!

标签: github

本文转载自: https://blog.csdn.net/aa12367/article/details/135525360
版权归原作者 HITzwx 所有, 如有侵权,请联系我们删除。

“无需克隆整个仓库,下载Github特定文件夹内的文件”的评论:

还没有评论