You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已用Git LFS追踪大文件,仍遭GitHub推送拒绝求助

解决Git LFS追踪文件仍被GitHub拒推的问题

问题分析

从错误日志看,GitHub检测到Assets/Scenes/Main.unity文件大小为102.54MB,超过了100MB限制——尽管你已用git lfs ls-files确认文件被追踪,但核心原因是仓库的历史提交或当前提交中,该文件并未被正确替换为LFS指针,GitHub仍能获取到原文件的完整数据。

解决方案

1. 检查当前提交的文件是否为LFS指针

运行以下命令查看文件内容:

cat Assets/Scenes/Main.unity

如果显示的是原Unity场景文件内容,而非以version https://git-lfs.github.com/spec/v1开头的LFS指针文本,说明当前提交中的文件未被LFS正确处理。

2. 修复当前未推送的提交

如果是当前未推送的提交有问题:

  • 撤销最近一次提交(保留文件修改):
    git reset HEAD~1
    
  • 确认.gitattributes中存在正确的追踪规则:
    git lfs track "Assets/Scenes/Main.unity"
    
  • 重新添加文件(此时会生成LFS指针):
    git add Assets/Scenes/Main.unity
    
  • 重新提交并推送:
    git commit -m "Migrate Main.unity to Git LFS"
    git push origin mac
    

3. 清除历史提交中的原文件

如果历史提交中已经存在该文件的非LFS版本,需要改写仓库历史:

  • 使用Git LFS自带的迁移工具处理所有分支的历史:
    git lfs migrate import --include="Assets/Scenes/Main.unity" --include-refs=all
    
  • 强制推送覆盖远程分支(注意:此操作会改写远程历史,需确保团队成员同步):
    git push origin mac --force
    

4. 验证修复结果

  • 再次确认文件被LFS追踪:
    git lfs ls-files
    
  • 检查提交中的文件是否为LFS指针:
    git show HEAD:Assets/Scenes/Main.unity
    

内容的提问来源于stack exchange,提问作者arcadeperfect

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:39:53