git lfs 提交、拉取大文件
Git LFS (Large File Storage) 是 Git 的扩展,用于高效管理大文件。
1.提交大文件
1.1 安装和初始化 Git LFS
首先确保已安装 Git LFS:
git lfs install
1.2 跟踪大文件类型
在项目根目录中指定要跟踪的文件类型(或具体文件):
# 跟踪特定文件类型
git lfs track "*.psd"
git lfs track "*.zip"
git lfs track "*.bin"
# 或跟踪特定文件
git lfs track "data/large_dataset.bin"
这会创建/修改 .gitattributes
文件,请确保提交它:
git add .gitattributes
git commit -m "Track large files with LFS"
1.3 添加和提交大文件
像普通文件一样操作:
git add large_file.psd
git commit -m "Add large design file"
1.4 推送到远程仓库
git push
验证 LFS 文件
检查哪些文件被 LFS 跟踪:
git lfs ls-files
常见问题解决
如果忘记先设置 LFS 跟踪
1.从 Git 索引中移除文件:
git rm --cached large_file.psd
2.设置 LFS 跟踪:
git lfs track "large_file.psd"
3.重新添加并提交
检查文件是否通过 LFS 存储
git lfs status
大文件推送失败
可能是网络问题或配额限制,可以尝试:
git lfs push origin main --all
最佳实践
-
尽早设置 LFS:最好在项目初期就设置好 LFS
-
明确跟踪模式:在
.gitattributes
中清晰定义跟踪规则 -
避免跟踪已提交的大文件:如果大文件已用普通方式提交,需要重写历史
-
注意存储配额:不同 Git 托管服务对 LFS 有不同限制
各平台 LFS 配额
-
GitHub: 免费账户 1GB 存储 + 1GB 带宽/月
-
GitLab: 免费账户 10GB 存储/项目
-
Bitbucket: 免费账户 1GB 存储 (≤5用户团队)
-
Gitee: 仅企业付费版支持
如需处理已提交的大文件或更复杂的 LFS 操作,可以提供更多细节,我可以给出针对性建议。
2.拉取大文件
2.1 确保 Git LFS 已安装
git lfs install
2.2 确保 Git LFS 已安装
如果已经克隆了仓库,但大文件没有下载,可以手动拉取:
cd omega-llama3-base # 进入克隆的仓库目录
git lfs pull # 强制下载所有 LFS 文件
如果卡住,可以尝试:
GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/haylee2025/omega-llama3-base.git
cd omega-llama3-base
git lfs pull