git-lfs安装及使用指导

Git LFS ——它本质上是:

Git 只存“指针文件”,真正的大文件走独立存储,它像是给 Git 装了一个外挂文件系统。


一、安装并初始化

1
2
dnf install -y git-lfs
git lfs install

验证:

1
2
3
4
5
6
7
8
git --version
git lfs version

# 开启客户端上传
git config lfs.allowincompletepush true

# 修复检查
#git lfs fsck

二、指定哪些文件走 LFS

建议直接按后缀统一接管:

1
2
3
git lfs track "*.onnx"
git lfs track "*.pt"
git lfs track "*.pth"

如果 chinese-clip-vit-base-patch16 是目录且很大:

1
git lfs track "chinese-clip-vit-base-patch16/**"

执行后会生成 .gitattributes 文件。

一定要提交它:

1
2
git add .gitattributes
git commit -m "enable git lfs"

三、提交大文件

然后正常操作:

1
2
3
git add .
git commit -m "add ocr model files"
git push

你会看到 push 过程分两段:

  1. git push(指针文件)
  2. git-lfs upload(大文件流)

四、确认是否真的走了 LFS

1
git lfs ls-files

如果看到文件列表,说明接管成功。


五、如果文件已经被普通 Git 提交过

Git 会把大文件历史永久写进对象库。

1
git lfs migrate import --include="*.onnx,*.pt,*.pth"

这会重写历史。
推送时需要:

1
git push --force

⚠️ 这是 destructive 操作,CI 和其他 clone 需要重新拉。