You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将2.3GB的JSON文件上传至GitHub仓库?Git LFS超限问题求解

解决GitHub Git LFS单文件2GB限制的方案

方案1:拆分大JSON文件

把2.3GB的JSON拆分成多个小于2GB的子文件,用Git LFS管理这些拆分后的文件,应用部署时再合并读取。

  • 拆分脚本示例(Python):
import json

def split_json(input_file, chunk_size=1.8e9):  # 按1.8GB拆分,留足余量
    with open(input_file, 'r', encoding='utf-8') as f:
        data = json.load(f)
        # 针对数组结构拆分;若为对象,可按键分组拆分
        if isinstance(data, list):
            chunk_num = 0
            # 估算每个chunk容纳的元素数,可根据实际数据调整
            chunk_element_count = int(chunk_size / 100)
            for i in range(0, len(data), chunk_element_count):
                chunk = data[i:i+chunk_element_count]
                with open(f'large_data_chunk_{chunk_num}.json', 'w', encoding='utf-8') as chunk_f:
                    json.dump(chunk, chunk_f)
                chunk_num += 1

split_json('large_data.json')
  • 操作步骤:
    1. 运行脚本拆分文件,确保每个子文件大小<2GB
    2. 执行git lfs track "*.json"跟踪所有拆分后的子文件
    3. 提交并推送到仓库
    4. 应用部署时,读取所有子文件并合并为原JSON结构使用

方案2:无损压缩后存储

JSON文件的压缩率通常很高(gzip可达70%-90%),压缩后大概率能降到2GB以下。

  • 压缩命令(Linux/macOS):
gzip -k large_data.json  # -k参数保留原文件,生成large_data.json.gz
  • Windows可使用7-Zip等工具选择gzip格式压缩,确保压缩后文件体积<2GB
  • 操作步骤:
    1. 压缩完成后,执行git lfs track "*.gz"跟踪压缩包
    2. 提交并推送到仓库
    3. 应用部署时,先解压large_data.json.gz再读取使用

方案3:GitHub Releases存储+仓库内保留引用

如果上述方案都不适用,可把大文件上传到GitHub Releases,然后在仓库中保留一个指向该文件的配置文件,应用部署时从Release下载文件。

  • 操作步骤:
    1. 可选压缩JSON文件,上传到仓库的Releases页面
    2. 在仓库中创建data_source.json,内容示例:
{"data_url": "https://github.com/your-username/your-repo/releases/download/v1.0/large_data.json.gz"}
  1. 提交配置文件到仓库,应用部署时读取该URL并下载目标文件

内容的提问来源于stack exchange,提问作者Hugo Albert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:37:40