工具包:Analyzer
分析现有 .gitignore,确认 LFS 配置没有遗漏。
Explore resourceProfessional .gitignore tools
Git LFS 不是「装上就完事」的插件,而是一套牵涉 .gitignore、.gitattributes、CI/CD 存储预算的流程。本指南覆盖从初次启用到团队协作、自动化审计的完整路径,帮助你把大文件管理做成可复用的规范。
✳️ 如果「放入版本库」不是刚需,请优先考虑外部对象存储,以免拉低 clone 速度并触发 GitHub 带宽限制。
Git LFS 配置分两步:.gitattributes 负责将匹配到的文件替换为 LFS 指针;.gitignore 继续挡住可重新生成的缓存、临时文件。
# 1. 初始化 Git LFS(一次性) git lfs install # 2. 针对模型 / 设计稿 / 纹理等大文件建立追踪规则 git lfs track "*.psd" git lfs track "*.glb" git lfs track "assets/models/**" # 3. 提交更新后的 .gitattributes git add .gitattributes git commit -m "chore: track binary assets with Git LFS"
💡 建议将 LFS 规则写在独立段落,并配合注释说明用途,降低团队成员误删的概率。
assets/cache/).gitattributes 的追踪范围可控,避免与忽略规则冲突git lfs track,但忘记提交 .gitattributesgit lfs ls-files -s 输出容量报表git lfs fetch --all + git lfs push --all 校验GIT_LFS_SKIP_SMUDGE=1 只在需要时下载,减少冗余流量。# GitHub Actions 示例
- name: Checkout repo (skip LFS)
  uses: actions/checkout@v4
  with:
    lfs: false
- name: Download required assets
  run: |
    git lfs fetch --include="assets/models/**"
    git lfs checkout assets/models
- name: Cache LFS objects
  uses: actions/cache@v4
  with:
    path: .git/lfs
    key: lfs-\${{ runner.os }}-\${{ hashFiles('.gitattributes') }}分支评审前跑一次脚本,即可找出未进入 LFS 的超大 blob,防止被意外合并。
# scripts/check-lfs.sh
#!/usr/bin/env bash
set -euo pipefail
THRESHOLD_MB=80
echo "Checking objects larger than ${THRESHOLD_MB}MB that are not tracked by LFS..."
git rev-list --objects --all   | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)'   | awk -v limit=$((THRESHOLD_MB * 1024 * 1024)) '      $1 == "blob" && $3 > limit { print $2 " " $3/1024/1024 "MB " $4 }'   | while read -r oid size path; do
      if ! git check-attr filter -- "${path}" | grep -q 'filter: lfs'; then
        echo "::warning file=${path}::${size}(未加入 Git LFS)"
      fi
    done将脚本加入 pre-push hook 或 CI 任务,输出的 `::warning` 可在 GitHub Actions 日志中直接显示。
运行 git lfs ls-files | grep <文件名>。 如果没有结果,可检查 `.gitattributes` 是否覆盖路径,或使用Analyzer 查看缺失规则。
优先删除可再生产物(build、缓存),并将模型等大文件迁移到对象存储。 可在 Search Console 周报中记录容量趋势,必要时升级 GitHub LFS 套餐。
使用 git lfs migrate import 将历史提交转换为 LFS 指针, 重新推送后执行本文的审计脚本,确认仓库不再带有大文件。
分析现有 .gitignore,确认 LFS 配置没有遗漏。
Explore resource游戏/多媒体项目常见的 LFS 资产忽略策略。
Explore resource把 LFS 与团队标准、代码审查串联起来。
Explore resource把 LFS 追踪规则、fallback 模板和团队标准放进一个文件里。