执行git push origin main时遭遇GitHub大文件推送失败问题求助
解决GitHub推送大文件及RPC失败问题
核心问题:Git历史残留大文件
你删除本地大文件后仍推送失败,是因为Git提交历史里还保留着该文件的记录,推送时Git会尝试上传历史版本的文件,触发了GitHub的文件大小限制。
方案1:修正最近一次提交(大文件是在最近提交中添加的)
- 从Git追踪中彻底移除该文件:
git rm --cached random_forest_feature_selection_model.pkl - 覆盖最近一次提交,合并移除操作:
git commit --amend --no-edit - 强制推送修改后的提交:
git push -f origin main
方案2:彻底清除所有历史中的大文件(大文件存在于更早的提交)
- 使用
git filter-repo工具清理全量历史:git filter-repo --path random_forest_feature_selection_model.pkl --invert-paths - 强制推送清理后的仓库历史:
git push -f origin main
解决RPC失败问题(HTTP 400 curl 92)
该错误多与HTTP连接或缓存限制有关,可尝试以下操作:
- 增大Git的HTTP缓存缓冲区:
git config --global http.postBuffer 524288000 - 切换到SSH协议推送(稳定性优于HTTP):
- 修改远程仓库地址为SSH格式:
git remote set-url origin git@github.com:BorysZhyhalo/TemaBit-Fozzy-Group.git - 重新执行推送:
git push origin main
- 修改远程仓库地址为SSH格式:
备选方案:用Git LFS管理大文件
若后续仍需上传此类大文件,可通过Git LFS处理:
- 安装LFS后,指定追踪
.pkl类型文件:git lfs track "*.pkl" - 提交追踪配置文件:
git add .gitattributes git commit -m "Track pkl files with LFS" - 推送文件至仓库:
git push origin main
内容的提问来源于stack exchange,提问作者Borys Zhyhalo
相关产品推荐
相关产品推荐

