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

如何用TortoiseGit解决push时大文件导致的[remote rejected]错误

解决TortoiseGit推送GitHub因大文件被拒绝的问题

一、定位已提交的大文件

  • 右键项目文件夹,选择「TortoiseGit」→「Show Log」打开日志界面
  • 在日志里找到包含pdfGenerationFromHtmlRazor/DinkToPDF.zip的提交记录,右键该记录→「Browse Repository at this Revision」
  • 在弹出的文件浏览器里确认这个大文件的路径和大小,确认是导致推送失败的原因

二、移除大文件并添加忽略规则

  1. 重置到上一次成功推送的版本
    • 右键项目→「TortoiseGit」→「Reset」
    • 选择「Hard」模式,选中上一次成功推送到GitHub的提交版本,点击确定(注意:Hard重置会清空当前未提交的修改,操作前备份好需要的内容)
  2. 添加忽略规则
    • 打开项目根目录的.gitignore文件(没有就新建一个文本文件,重命名为.gitignore)
    • 在文件里添加一行:pdfGenerationFromHtmlRazor/DinkToPDF.zip,保存
    • 右键.gitignore文件→「TortoiseGit」→「Add」,把这个忽略文件加入版本控制

三、重新提交并推送

  • 右键项目→「TortoiseGit」→「Commit」,填写提交说明(比如“移除超限大文件并添加忽略规则”),提交所有修改
  • 提交完成后,右键项目→「TortoiseGit」→「Push」,选择对应的GitHub远程仓库和main分支,完成推送

特殊情况:大文件存在于多次提交历史中

如果之前的多个提交都包含这个大文件,需要彻底清理Git历史:

  • 右键项目→「Git Bash Here」,在弹出的命令窗口执行:
    git filter-repo --path pdfGenerationFromHtmlRazor/DinkToPDF.zip --invert-paths
    
  • 清理完成后,执行强制推送覆盖远程历史:
    git push origin main --force
    
  • 注意:强制推送会覆盖远程仓库的历史记录,要提前通知团队成员同步更新本地仓库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:07:40