Git 大文件存储(Git LFS)

Git 高级

Amanda Crawford-Adamo

Software and Data Engineer

什么是 Git Large File System?

Git LFS 命令:

git lfs
  • Git LFS:Git Large File Storage
  • 将仓库中的大文件替换
  • 使用小型指针文件
  • 大文件与仓库分离存储

优势:

  1. 降低仓库体积
  2. 更快的 clone 与 fetch
  3. 高效处理二进制文件
  4. 改善大文件协作
Git 高级

Git LFS 初始化流程

  • 初始化 Git LFS

    git lfs install
    
  • 设置要跟踪的文件并生成 .gitattributes 文件

    git lfs track "*.csv"
    
  • 将带有跟踪配置的 .gitattributes 加入索引

    git add .gitattributes
    
  • 提交更改
    git commit -m "Track CSV files"
    

一个文件柜动画,展示抽出的文件

Git 高级

Git LFS 更新流程

  1. git add 添加新文件
    git add large_file.csv
    
  2. 提交并推送更改
    git commit -m "Update large CSV file"
    git push origin main
    
  3. 下载更新
    git pull
    git lfs pull  # 如需显式下载 LFS 内容
    
Git 高级

何时使用 Git LFS

适用场景:

  1. 需跟踪大型数据集变更(CSV、JSON 等)
  2. 机器学习模型
  3. 二进制资源(图像、视频)
  4. 版本化压缩包或安装文件

不适用:

  1. 很少更新的大文件
  2. 小型文本文件,如代码
  3. 存储配额紧张
Git 高级

最佳实践

  1. 高效管理大文件
  2. 改善数据密集型项目的协作
  3. 与 Git 流程无缝集成

提示:

  1. 有选择地跟踪文件
  2. 让团队了解 LFS 的使用
  3. 定期清理 LFS 缓存
Git 高级

Passons à la pratique !

Git 高级

Preparing Video For Download...