【git】commit历史记录中有大文件,导致无法push解决方法 |
您所在的位置:网站首页 › 无法发送大于100mb的文件 › 【git】commit历史记录中有大文件,导致无法push解决方法 |
报错信息为历史记录中有大于100MB的文件,无法完成push 方案:根据报错信息中的文件名代码进行查找,如90c5365492dea3b3c855b2375f1de8588ac1bda4 使用命令 git rev-list --objects --all | grep 90c5365492dea3b3c855b2375f1de8588ac1bda4查找到文件名称后,根据该文件名将其从历史记录中删除 90c5365492dea3b3c855b2375f1de8588ac1bda4 datasets/cifar-10-python.tar.gz原来是一个数据集的压缩包的体积过大,导致无法push,使用如下命令将其移除 git log --pretty=oneline --branches -- datasets/cifar-10-python.tar.gz再对所有commit进行重写,让该文件从历史中消失 git filter-branch --index-filter 'git rm --cached --ignore-unmatch datasets/cifar-10-python.tar.gz' -- --all该命令进行重写时可能会报错,使用命令git stash进行解决 最后还需要从日志中将改文件的引用全部删除 rm -rf .git/refs/original rm -rf .git/logs/ git gc git prune最后就可以成功push了,此处需要使用强制push,命令如下: git push --force |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |