git安装lfs插件支持大文件拉取
1.Git LFS 的本质与前瞻认知
Git LFS(Large File Storage)并不是“自动就会拉下大文件”的魔法,而是一个指针机制,普通 git clone 实际拉到的是一个很小的 pointer 文件,真正的大文件需要通过 LFS 客户端额外拉取。
如果环境里没装或没启用 LFS,你看到的永远只是“假文件”
2.最稳妥的下载方式
2.1.安装 Git LFS
1 | git lfs version |
未安装(常见 Linux / macOS)
1 | # macOS |
初始化(只需一次)
1 | git lfs install |
⚠️:这一步会把 LFS hook 写入你的 Git 配置,否则 clone 时 LFS 不会自动生效
3.clone 仓库并下载 LFS 文件
1 | git clone https://example.com/xxx.git |
- clone 结束时 LFS 文件已经被自动拉取
- 工作区看到的是真实大文件,而不是指针
1 | git lfs pull |
等价于:
- 读取当前 checkout 的 commit
- 把对应的 LFS 对象下载并替换 pointer
3.1只拉当前分支(默认行为)
1 | git lfs pull origin main |
3.2拉取全部历史中的 LFS 文件
1 | git lfs fetch --all |
4.查看 LFS 跟踪文件
1 | git lfs ls-files |
Git LFS 的哲学很冷静:
Git 管历史,小对象;LFS管现实,大对象。两者各司其职,世界才不会崩塌。