已安装Git LFS并追踪正确文件,推送Unity项目仍报错
Unity大文件推送报错解决步骤
1. 核对Git LFS追踪状态
- 运行
git lfs status,查看报错的大文件是否标记为LFS tracked。如果显示not tracked,重新执行追踪命令,比如针对Unity资源:git lfs track "*.asset" "*.fbx" "*.unitypackage" - 检查项目根目录的
.gitattributes文件,确认包含对应文件的LFS规则(比如*.asset filter=lfs diff=lfs merge=lfs -text),没有的话手动添加,然后执行git add .gitattributes提交这个文件
2. 清理历史提交中的非LFS大文件
如果之前已经把大文件直接提交到Git仓库(没走LFS),远程会因为大小限制报错:
- 执行
git lfs migrate import --include="*.asset"(替换为你的大文件后缀),把历史提交里的对应文件转为LFS存储 - 执行
git push --force(注意:强制推送会覆盖远程历史,提前和团队成员同步)
3. 检查远程仓库的大小限制
不同平台(GitHub/GitLab等)对单文件大小有默认限制,即使开启LFS也可能存在上限。如果文件超出限制,需要:
- 拆分Unity大资源(比如把大型场景拆分成多个小场景)
- 压缩纹理、模型等资源,减小文件体积
4. 重置缓存后重新提交
- 运行
git rm --cached -r .清除本地缓存 - 执行
git add .重新追踪所有文件 - 提交并推送:
git commit -m "重新用LFS追踪大文件",再执行git push
5. 排查.gitignore冲突
确认.gitignore里没有误把需要追踪的大文件后缀加入屏蔽列表,比如如果*.asset在.gitignore里,会导致LFS无法追踪,需要删除对应的规则
内容的提问来源于stack exchange,提问作者Pascal Mariany
相关产品推荐
相关产品推荐

