Git推送大于100MB的commit失败,不使用Git LFS如何正常提交?
Git超大commit推送解决方案
首先明确GitHub平台的推送限制:平台对单次推送包含的单个文件大小设置了100MB的硬限制,如果你的commit中包含单个超过100MB的文件,无常规绕过方式;如果仅为commit总大小128MB、无单文件超100MB的情况,可以通过拆分提交的常规方式完成推送。
无单文件超100MB的处理步骤
- 首先撤销当前的超大commit,保留所有本地改动:
git reset --soft HEAD~1 - 分批选择改动文件提交,每次提交的总大小控制在60MB以内即可,示例操作:
git add 第一批改动的文件路径 git commit -m "feat: 提交第一部分功能改动" git push - 重复分批提交操作,直到所有改动都完成推送即可,该操作完全不影响现有仓库的历史提交记录。
存在单文件超100MB的处理步骤
如果128MB是单个文件的大小,无法使用常规推送方式直接提交,需要先处理该大文件:
- 先将大文件移出当前提交,优先推送其他改动:
git reset --soft HEAD~1 git reset HEAD 大文件路径 git add 其余所有改动文件 git commit -m "feat: 提交除大文件外的所有改动" git push - 大文件可选择拆分、压缩后再单独提交,或单独配置LFS追踪该文件后推送,单独配置单个新增大文件的LFS规则不会修改仓库已有的历史提交记录。
提示:以上所有操作仅针对本次待推送的commit做调整,不会修改GitHub上已有的文件改动记录和历史提交。
内容的提问来源于stack exchange,提问作者yyyy
相关产品推荐
相关产品推荐

