git无法push大文件:this exceeds GitHub‘s file size limit of 100.00 MB

报错问题

remote: Resolving deltas: 100% (16/16), completed with 1 local object.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: cd56401cea0e1e976a7eb6c551f09a61ccb0049647444277bc884b1ba8320e6e
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File xxx is 104.50 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/xxx.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/xxx.git'

使用git lfs

移除大文件的影响

# 以下执行完,应该能正常的push。确保之前执行的错误不会对后续产生影响
git rm --cached path_of_a_giant_file
git commit --amend
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch path_of_your_bigfile'
git push


mac 安装
### 解决GitHub提交时文件大小超出限制的问题 当尝试向GitHub推送代码时,如果某个文件超过100MB的限制,则会触发`file size limit exceeded`错误[^4]。以下是具体的解决方案: #### 方法一:移除大文件并清理缓存 即使删除了超大的文件,Git可能仍会在其历史记录中保留该文件副本。因此需要通过以下步骤彻底清除这些文件的历史记录。 ```bash # 安装BFG Repo Cleaner工具 brew install bfg # 使用BFG工具清理仓库中的大文件 bfg --strip-blobs-bigger-than 100M your-repo.git # 或者手动方式: git filter-branch --force --index-filter \ 'git rm --cached --ignore-unmatch PATH_TO_FILE' \ --prune-empty --tag-name-filter cat -- --all # 强制更新远程仓库 git push origin --force --all ``` 上述方法能够有效移除指定的大文件,并同步更改至远程仓库。 #### 方法二:调整单次提交的内容 对于新创建的提交,可以通过忽略特定路径下的大型文件实现规避此问题。 ```bash echo "CHATSERVICE.ipch" >> .gitignore git rm --cached CHATSERVICE.ipch git add . git commit -m "Remove large file from repository" git push origin main --force ``` 这里的关键在于`.gitignore`配置以及强制覆盖已有数据的操作[^5]。 #### 方法三:利用LFS管理大文件 另一种推荐的方式是采用Git LFS(Large File Storage),专门用于存储和版本控制较大的二进制文件。 ```bash # 安装Git LFS插件 git lfs install # 跟踪特定类型的大型文件 git lfs track "*.ipch" # 提交跟踪规则到版本库 git add .gitattributes git add CHATSERVICE.ipch git commit -m "Add CHATSERVICE.ipch with Git LFS" git push origin main ``` 这种方法不仅解决了当前问题,还为未来可能出现的大文件提供了解决方案。 ```python print("以上三种方法均可解决GitHub提交时因文件过大而失败的情况") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值