为了在 GitHub 仓库中存储超过 100MB 的大文件并避免推送失败,使用 Git LFS(Large File Storage) 是最佳解决方案。以下是详细步骤:
一、安装 Git LFS
下载并安装 Git LFS:
- 访问 Git LFS 官网 下载对应系统的安装包。
- 或使用包管理器安装(例如 macOS 上通过 Homebrew):
brew install git-lfs
初始化 Git LFS:
git lfs install
二、追踪大文件
指定要追踪的大文件类型:
- 例如追踪所有
.psd
文件和data/
目录下的.zip
文件:git lfs track "*.psd" git lfs track "data/*.zip"
- 例如追踪所有
提交
.gitattributes
文件:- Git LFS 的追踪规则会保存在
.gitattributes
中,需提交此文件到仓库:git add .gitattributes git commit -m "启用 Git LFS 追踪大文件"
- Git LFS 的追踪规则会保存在
三、添加并提交大文件
正常添加和提交文件:
git add large_file.psd git commit -m "添加大型设计文件"
推送到远程仓库:
git push origin main
- Git LFS 会自动将大文件上传到 LFS 服务器,并在 Git 仓库中保留轻量级指针。
四、处理已提交到 Git 历史中的大文件(如已误提交)
如果大文件已经存在于 Git 历史记录中,需清理历史:
使用
git lfs migrate
迁移历史文件:git lfs migrate import --include="*.psd" --everything
--include
指定要迁移的文件类型,--everything
处理所有分支和标签。
强制推送清理后的仓库:
git push --force origin main
五、GitHub 配额注意事项
- 免费账户限制:GitHub 提供 1GB 的 Git LFS 存储和 1GB 的带宽/月(具体以 GitHub 文档 为准)。
- 查看用量:在仓库的
Settings > Git LFS
中查看存储和带宽使用情况。
六、验证 LFS 文件状态
检查已追踪的 LFS 文件列表:
git lfs ls-files
拉取 LFS 文件到本地(克隆仓库后):
git lfs pull
总结
通过 Git LFS,你可以高效管理大文件,避免 GitHub 的 100MB 文件限制。核心步骤是安装 LFS、追踪文件、提交 .gitattributes
,并确保历史记录中没有残留的大文件。如果遇到配额问题,可考虑升级 GitHub 账户或使用第三方 LFS 存储服务。