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

如何在Git仓库中正确存储压缩JSON,实现查看美化、克隆返回压缩版

实现Git仓库存储美化JSON、本地工作区保留压缩JSON的方案

实现原理是利用Git的**自定义过滤器(filter)**机制,和working-tree-encoding的转码逻辑一致,分为提交时的clean转换和检出时的smudge转换两个阶段:

前置依赖

首先安装跨平台JSON处理工具jq,用于JSON的美化和压缩操作。

具体配置步骤

  • 第一步:配置Git过滤器规则
    执行以下命令配置全局过滤器(如果仅需当前项目生效,去掉命令中的--global参数即可):
    # smudge规则:检出文件时,将仓库中的美化JSON转为压缩格式写入工作区
    git config --global filter.json-minify.smudge "jq -c ."
    # clean规则:提交文件时,将工作区的压缩JSON转为美化格式存入Git仓库
    git config --global filter.json-minify.clean "jq ."
    
  • 第二步:配置项目.gitattributes规则
    在项目根目录新建.gitattributes文件,添加以下内容(如果仅需处理特定JSON文件,把*.json替换为对应文件名即可):
    *.json filter=json-minify diff=json
    
    其中diff=json用于保证Git可以正确识别为JSON格式,支持逐行变更对比。

效果验证

  • 提交压缩JSON文件后,执行git show、git diff命令,或者在GitHub/GitLab等平台的网页端查看,都会展示美化后的JSON格式,支持逐行变更查看
  • 执行git clone或者git checkout操作时,本地工作区自动生成的是原始压缩JSON文件,完全符合需求。

注意事项

所有协作使用该仓库的开发者都需要配置上述过滤器规则,你可以将配置步骤添加到项目README中说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:09:02