git lfs 提交大文件
Git LFS (Large File Storage) 是 Git 的扩展,用于高效管理大文件。以下是提交大文件的完整流程:
1. 安装和初始化 Git LFS
首先确保已安装 Git LFS:
git lfs install
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"
3. 添加和提交大文件
像普通文件一样操作:
git add large_file.psd
git commit -m "Add large design file"
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 操作,可以提供更多细节,我可以给出针对性建议。