首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法推送到GitHub,因为我已经删除了大文件

问题概述

无法推送到GitHub,因为你已经删除了大文件。

基础概念

GitHub 是一个基于 Git 的代码托管平台,允许开发者存储和管理代码。Git 是一个分布式版本控制系统,可以跟踪文件的更改历史。

问题原因

当你删除了大文件后,Git 仍然会保留这些文件的历史记录,这会导致仓库的大小急剧增加。当你尝试推送更改时,Git 会尝试将这些历史记录也推送到远程仓库,从而导致推送失败。

解决方法

你可以使用 git filter-branchBFG Repo-Cleaner 来清理这些大文件的历史记录。以下是使用 BFG Repo-Cleaner 的步骤:

  1. 下载 BFG Repo-Cleaner
  2. 下载 BFG Repo-Cleaner
  3. 清理大文件
  4. 清理大文件
  5. 例如,如果你删除了一个名为 largefile.zip 的文件,命令如下:
  6. 例如,如果你删除了一个名为 largefile.zip 的文件,命令如下:
  7. 清理 Git 仓库
  8. 清理 Git 仓库
  9. 推送更改
  10. 推送更改

参考链接

注意事项

  • 使用 --force 推送更改会覆盖远程仓库的历史记录,请确保你有权限并且了解其影响。
  • 如果你使用的是 GitHub,可以考虑启用 Git LFS (Large File Storage) 来管理大文件,而不是直接存储在 Git 仓库中。

通过以上步骤,你应该能够成功清理大文件的历史记录并推送到 GitHub。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了

大家好,是小富~前言忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,居然发现有5个Issues,最近的一条日期已经是2022/8/1了,以前还真没留意过这些...仓库地址:https://github.com/chengxy-nds/Springboot-Notebook图片5个Issues中,有个标题"优化本仓库大小的建议"吸引了,赶紧点进去看看啥情况,这个哥们说这个仓库太大了...这个Git仓库清理工具叫BFG Repo-Cleaner,可以帮助我们筛选、清理大文件对象,官方文档地址:https://rtyley.github.io/bfg-repo-cleaner ,接下来看看这工具咋用...$ java -jar bfg.jar --delete-files Cyrillic.traineddata Springboot-Notebook.git 5、GC 回收垃圾上边我们虽然过滤、删除了大文件...git branch -D git branch -m git push -f origin 在完代码后再次去看了下仓库的大小

1K30

暴力拒绝白嫖,著名开源项目作者库跑路,数千个应用程序无限输出乱码

机器之心报道 编辑:蛋酱、小舟 「自己的开源项目代码,需要经过别人允许吗?」...一夜之间,Marak Squires 主动删除了「faker.js」和「colors.js」项目仓库的所有代码,让正在使用这两个开源项目的数千位开发者直接崩溃。...破坏后的版本导致应用程序无限输出奇怪的字母和符号,从三行写着「LIBERTY LIBERTY LIBERTY」的文本开始,后面跟着一系列非 ASCII 字符: 目前,color.js 已经更新了一个可以使用的版本...在将更新推送到 faker.js 两天后,Squires 发了一条文,表示自己存储了数百个项目的 GitHub 账户已经被封。...「恕我直言,不想再用的免费工作来支持财富 500 强(和其他小型公司),以此为契机,向我发送一份六位数的年度合同,或者 fork 项目并让其他人参与其中。」

68830
  • Git推送大文件失败?你晓得如何解决嘛?

    " 相信这不是一个人的经历:傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。...——《沉默的大多数》 " Git 上传大文件 我们知道 github 上面限制每次推送的文件不能超过 100M,否则报错失败,那么非要推送大文件呢?有没有什么解决办法呢?答案当然是肯定的。...因为只试验了 windows 平台,本文以此为例。其他系统可上网搜如何下载安装对应版本的 git-lfs。...gitattributes 4.然后提交文件 .gitattributes: git commit -m 'submit .gitattributes file' 5.将文件 .gitattributes 推送到远程仓库...直接推送大文件到远程: git push 然后你就会发现大文件送到远程的 github 仓库了。

    2.3K20

    Git+Gerrit如何永久删除历史文件(大文件私密文件)

    因为远程仓库中,大文件的提交记录依然存在,这样删除只是将产生了一个新的提交记录,将当前commit中大文件去掉而已,随时可以回滚回来,pull的时候依然会将大文件的历史记录拉取下来。...git reset --soft命令一样是无法将提交记录从仓库中抹掉的,虽然通过reset之后,大文件的提交记录在git log中已经查找不到,但实际上,这个记录并不会真正的从仓库中删除,只要能找到commit...强制更新是一个非常危险的动作,一定要确保你的本地内容是最新的,已经没有人在你之后提交了代码,否则会将其它的人提交的代码也一并删除了。...推送权限出错 推送不上去,由于配置了gerrit,普通权限的开发人员是无法直接推送到远程仓库的,否则gerrit就形同虚设了呀。那么就来看看gerrit可以配置那些权限。...clone成功 终于可以轻松的拉取仓库,并且只有41.42M,至此,终于将错误推送到远程仓库的超大文件删除,可以轻松愉快的拉取仓库了。

    2.6K20

    如何删除错误提交的 git 大文件

    早上小伙伴告诉,他无法拉下代码,没有在意。在开始写代码的时候,发现的 C 盘炸了。...因为的磁盘是苏菲只有 256G 放了代码就没空间了,于是查找到了原来是的代码占用了居然有 2000+M ,寻找了很久才发现,原来小伙伴JAKE传了一个压缩包上去,一个1G的包。...当然这个方法需要很长时间,因为提交大文件的时间不长,所以可以使用walterlv的方法 彻底删除 Git 仓库中的文件避免占用大量磁盘空间 - walterlv 于是远程仓库好了,但是本地仓库还是有小伙伴拉下来...expire --expire=now --all git gc --prune=now 第一句代码git fetch -f -p的作用就是从本地拿到远程最新分支,覆盖本地存放的远程分支 第二句实际上因为主要开发分支就是...接下来是如果在开发之前已经拉下存在大文件的开发分支并且在他之后有提交,那么需要创建一个新的分支在合并之前。 ? ? 然后把提交 pick 到新分支 ?

    3.1K10

    Windows下git安装使用教程

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。...git rm test.txt $ git commit -m "remove test.txt" 另一种情况是错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: $ git checkout...: 点“Add Key”,你就应该看到已经添加的Key: 添加远程仓库 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步; 这样,GitHub...请千万注意,把上面的starlee261替换成你自己的GitHub账户名,否则,你在本地关联的就是的远程库; 关联没有问题,但是你以后推送是不上去的,因为你的SSH Key公钥不在的账户列表中。...这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的信息是否来自GitHub的服务器,输入yes回车即可。

    7.9K10

    特源代码「意外曝光」,GitHub连夜下架:泄露者疑似被解雇员工

    机器之心报道 编辑:蛋酱 有人库跑路,有人发帖控诉,还有人决定替老东家「提前曝光」源代码。 大型科技公司开放源代码不是新鲜事,但特的一次「被动开源」,却成为了科技圈的热门话题。...最近,特公司的部分源代码,「意外」出现在了 GitHub 上。 「目前还不清楚泄露的代码在网上发布了多长时间,但它似乎已经公开至少几个月了。」《纽约时报》在报道中写道。...特给 GitHub 的 DMCA 通知将这些代码描述为「特平台和内部工具的专有源代码」。 一种猜想是,泄密者可能是马斯克收购公司后因为裁员、解雇或辞职离开特的 5500 名员工之一。...不过许多被解雇员工根本无法访问泄露的那些特定源代码,所以排查范围可能会进一步缩小。...《纽约时报》称,特高管担心「该代码包含安全漏洞,可能使黑客或其他有动机的各方有机会提取用户数据或关闭该网站」。 特:要拿到这个人的全部信息 3 月 24 日,特针对此事发出了删除通知。

    50320

    GitHub告急!黑客威胁程序员不交钱就

    自己的GitHub一秒变成悬疑片现场,不仅被黑客攻击代码了,嚣张的黑客还留下一封勒索信: 如果你要恢复丢失的代码和避免我们泄漏代码:需要先支付0.1个比特币(约3838元)到这个地址:1ES14C7QLB5cyhlmuektxlgc1f2v2ti9da...,再将Git登录名和支付证明发送到这个邮箱里admin@gitsbackup.com。...这不是第一次GitHub遭遇黑客攻击了: 2018年2月28日,GitHub遭到峰值攻击流量高达 1.35Tbps的DDoS攻击,导致官网在一小段时间内无法访问。...我们已经确定了受影响的用户帐户,并通知到这些用户。根据调查发现,我们有强有力的证据表明,被泄露的帐户在部署相关存储库时,其帐户密码是以明文形式来存储。...不,在特上,开发者社区的大V建议受害者在支付赎金之前先联系GitHub、GitLab或Bitbucket,因为他们可能有其他方法可以帮助你恢复已删除的代码。

    66210

    CleanMyMacX2023中文版Mac系统清理优化工具

    Mac电脑清理是可以直接使用储存空间管理(关于本机->储存空间->管理)来清理,但是这里的其他空间我们是无法进行操作的。...CleanMyMac的智能清理功能如果进行了上述操作之后,Mac系统中仍然有一部分垃圾文件,那么表示可能还有一些系统文件中自己都已经遗忘的备份资料、屏保或是聊天记录等等,这些垃圾文件CleanMyMac...主要功能:(系统清理、隐私管理、大文件管理、软件卸载)1.清理:一般默认选智能清理,最占地方的其实是safari和chrome的缓存,再就是一些多余的系统安装包、过期的认证文件。...其实缓存半个月或者更久清理一次即可,没必要经常清理,因为你清理了,它第一时间又会出现的。而且会维持在2-4G之间,不会太大的。但是,间隔久一点,用来清理系统垃圾文件、系统过期文件就很爽了!...比如在MacOS上删除了一个不用的账户之后,对应账户的数据其实很多还在电脑里,手动不掉,但是深度清理以后,还是能清理掉一部分的。自己大概清掉了30G以上的其他用户文件。

    44700

    CleanMyMacX软件优缺点介绍 值不值得下载?

    主要功能:(系统清理、隐私管理、大文件管理、软件卸载)清理我一般默认选智能清理,最占地方的其实是safari和chrome的缓存,再就是一些多余的系统安装包、过期的认证文件。...比如在MacOS上删除了一个不用的账户之后,对应账户的数据其实很多还在电脑里,手动不掉,但是深度清理以后,还是能清理掉一部分的。自己大概清掉了30G以上的其他用户文件。...(图片自己没截,从网上找的图)系统垃圾里的缓存清理中,试过清理微信,清理完聊天记录就没了,所以不要随便手动选清理项目,就按全自动来是最方便的。...它已经完成了!垃圾箱:如果您错误地删除了文件并且在您尚未清空垃圾箱时找不到它,cleanmymac的垃圾箱可以充当救星。2....适用于 Mac 的 CleanMyMac X 的缺点CleanMyMac X 是一款付费软件它没有搜索重复文件的选项, 因此,如果是因为重复项覆盖了电脑空间,cleanmymac无法检测到它们CleanMyMac

    68120

    Linux VPS定时备份服务器网站数据到Github私人仓库

    说明:现在Github被微软收购后,私人仓库已经开始免费了,只能说微软很良心。然后就可以拿来折腾下了,让其充分发挥下作用,这里我们可以用来备份下网站或者服务器一些数据,方法就大概说下。...4、初次备份 #进入备份的文件夹 cd /home/www.zalou.cn #把目录下所有文件更改状况提交到暂存区,包括增,,改。...git add -A #提交更改的说明,说明随意了,这里为backsite git commit -m "backsite" #开始推送到Github git push -u origin master...推送失败 如果你将本地文件夹推送到Github失败的话,常见原因有2种,具体如下。...,不过别用来备份大文件东西,比如电影什么的,听说有限制,具体多少暂时还没测试。

    4.8K41

    Linux VPS定时备份服务器网站数据到Github私人仓库

    说明:现在Github被微软收购后,私人仓库已经开始免费了,只能说微软很良心。然后就可以拿来折腾下了,让其充分发挥下作用,这里我们可以用来备份下网站或者服务器一些数据,方法就大概说下。...4、初次备份 #进入备份的文件夹 cd /home/www.moerats.com #把目录下所有文件更改状况提交到暂存区,包括增,,改。...git add -A #提交更改的说明,说明随意了,这里为backsite git commit -m "backsite" #开始推送到Github git push -u origin master...推送失败 如果你将本地文件夹推送到Github失败的话,常见原因有2种,具体如下。...,不过别用来备份大文件东西,比如电影什么的,听说有限制,具体多少暂时还没测试。

    4.1K00

    《玩游戏,学技术》第二篇,用消息队列实现所有游戏功能

    如何实现炸弹 为了提升游戏的操作难度和趣味性,我们允许玩家炸弹。...要知道我们的后端只有 Pulsar 消息队列,你无法在后端写代码实现一个定时器定期给 topic 中发送消息的。...因为新玩家创建的消费者需要从 topic 中最新的消息开始消费,所以如果把更新地图的事件和其他事件混在一起,新加入的玩家无法从历史消息中找到最近一次更新地图的消息,从而无法初始化地图: 当然,Pulsar...既然已经可以实现房间内的计分板了,那么实现全局计分板肯定可以有多种不同的办法。...本文就到这里,已经把比较完善的代码和文档放在了 GitHub 上: https://github.com/labuladong/play-with-pulsar 在后续的文章,我会首先用一个贪吃蛇游戏为例介绍一下我们使用到的游戏框架

    62220

    深入浅出 Golang 资源嵌入方案:go-bindata篇

    但是在 2018 年2月7日,作者因为一些原因删除了他创建的所有仓库,随后这个账号也被弃用。这个时候,有一位好心的国外用户在 Twitter 上对其他用户进行了提醒。...[来自好心人的提醒] 随后自然是引发了类似最近 fake.js 作者库、早些时候的 npm left-pad 仓库软件删除相同的,极其糟糕的连锁反应,大量软件无法正常构建。...嵌入大文件的性能状况 这里我们依旧是使用 go tool pprof -http=:8090 cpu-large.out 来展示程序计算调用过程的资源消耗状况(因为调用非常多,这里我们只看直接关系比较大的部分...关于这部分的相关代码,上传到了 https://github.com/soulteary/awesome-golang-embed/tree/main/go-bindata-related/benchmark-no-compress...除了上面提到的实现之外,其实还有一些有趣的实现,虽然它们并不出名: https://github.com/kataras/bindata - 基于 iris 的web 定制优化,存储数据和输出都使用

    84100

    深入浅出 Golang 资源嵌入方案:go-bindata篇

    但是在 2018 年2月7日,作者因为一些原因删除了他创建的所有仓库,随后这个账号也被弃用。这个时候,有一位好心的国外用户在 Twitter 上对其他用户进行了提醒。...来自好心人的提醒 随后自然是引发了类似最近 fake.js 作者库、早些时候的 npm left-pad 仓库软件删除相同的,极其糟糕的连锁反应,大量软件无法正常构建。...嵌入大文件的性能状况 这里我们依旧是使用 go tool pprof -http=:8090 cpu-large.out 来展示程序计算调用过程的资源消耗状况(因为调用非常多,这里我们只看直接关系比较大的部分...关于这部分的相关代码,上传到了 https://github.com/soulteary/awesome-golang-embed/tree/main/go-bindata-related/benchmark-no-compress...除了上面提到的实现之外,其实还有一些有趣的实现,虽然它们并不出名: https://github.com/kataras/bindata 基于 iris 的web 定制优化,存储数据和输出都使用 GZip

    1.1K10

    Cloud Studio 三分钟上手 Git LFS

    二、基本原理Git LFS 实现优化大文件存储的方式,是使用文件的指针文件替换原来的大文件,把大文件单独存储于 lfs 缓存目录中。...LFS 的指针文件体积非常小,通常小于 1KB,下文为一个图片的指针文件格式示例:version https://git-lfs.github.com/spec/v1oid sha256:8ffbc5bf63f5622d9241bb6b1f726c6314f071acee7c49a4aee1c637c85d8f87size...大文件送到远端仓库时执行 `git push` 命令时,Git 的 push hook 会调用 Git LFS,把指针文件会直接推送到 Git server,而另一个部分的真实的 LFS 文件会推送到...从结果可见,刚才的图片已经设置为 Git LFS 存储模式。图片当然,我们还可以从上文的 Git LFS 原理,从 LFS 缓存目录检查是否有对应文件。...对于一些不常用的软件,虽然 Cloud Studio 无法给我们预置,但是 Cloud Studio 的工作空间支持几乎所有文件目录的持久化能力,我们可以像本地环境一样,安装软件到 Cloud Studio

    1.5K40

    CubeFS在大数据和机器学习的探索和实践丨ArchSummit峰会实录

    大文件会采用分片存储,将大文件按照 128KB 拆分后并发写入到不同 dp 中。...这种方案抛开昂贵的数据迁移代价不谈,还存在以下问题,数据是全量迁移还是部分迁移,如果全量迁移数据,公有云已经有全量的数据,无法做到弹性计算;如果是部分迁移,私有云的 CubeFS 和公有云的文件系统存在数据一致性需要解决...这种方案抛开昂贵的数据迁移代价不谈,还存在以下问题,数据是全量迁移还是部分迁移,如果全量迁移数据,公有云已经有全量的数据,无法做到弹性计算;如果是部分迁移,私有云的 CubeFS 和公有云的文件系统存在数据一致性需要解决...除了弹性副本之外还可以采用低成本的纠码,不同冗余度的编码支持可配,用户可以根据对数据耐久度的需求来选择合适的编码,例如可以选择支持 AZ 级别容灾的编码,在降低数据冗余度的同时兼顾数据可靠性。...其实多副本引擎的小文件会聚合到一个大文件中,小文件聚合会减少 DataNode 管理的文件数量。纠码引擎写入小文件会采用填充的方式,这样小文件读取时候只访问第一块数据,可以避免跨 AZ 的读流量。

    74710

    老弟做了个网盘,炸了!

    所以除了学习之外,如果想要搭建自己的私人网盘,建议直接选择一些开源的,比如主流的 Seafile、Nextcloud、Cloudreve、OwnCloud 都可以。...文件上传设计 文件上传顾名思义就是把文件从本地电脑发送到存储文件的远程服务器上,小文件的上传倒没有什么好说的,主要考虑的是大文件上传怎么 更快、更稳定、更灵活、更快响应 等等,以提高用户的体验。...真相只有一个,该文件肯定之前已经被上传过了! 这就是经典的秒传技术。 上传文件前,先在客户端(比如浏览器)根据文件内容计算出文件的 MD5 值,相同内容的文件 MD5 值必然相同。...异步上传 除了同步上传外,当我们要上传的文件不在本地而是已经存在对应 url 时,也可以采用 全异步上传 的方式,将文件上传变成一个 任务 。...比如七牛云,分块上传什么的都给我们做好了,也可以参考七牛云 SDK 文档(https://github.com/qiniu)来了解它们的实现方式。

    90441

    库跑路大神「后悔」了?只不过犯了大家都会犯的编程错误!

    ---- 新智元报道 编辑:好困 袁榭 【新智元导读】在开源程序界惹出「库跑路」大新闻的开发者Marak Squires,最近发声:「人无完人,编程错误而已,GitHub你就不用再封号了嘛!...对于「faker」,Marak除了炸了自己程序之外,还修改了GitHub repo的README页面。 这次,Marak直接摊牌了:endgame。...1月7日,Marak发了一段自述视频,不过现在已经看不到了。 同日,GitHub将他账号封禁。 随后的几天里,事件在不断地发酵,而他的文也收到了1800个转发和3700个点赞。...也不知是不是想挽回点名声,Marak在1月15日的时候发文表示自己已经在3天前就修好了程序的「bug」,但因为自己被封了所以没办法上传至NPM。 不过,这个时候已经没有人在关心这个项目了。...Marak提到他,或许是以偶像自况:,也是同样被万恶的牟利社会欺压的天才啊!资本家大公司一定也会因为不顺它们意就迫害我!暗害我! 不过考虑到Marak当时的精神状况,这实在是想多了。

    56810

    【Git】每天1分钟系列——(手把手教会为止)Git项目分支搭建

    删除分支 git branch -d 分支名称 没有例子,没错,就是没有例子,如果你删除了也找不回来哟 搭建项目框架 当前项目分支一共有3个,分别为master、dev、itcast,当前在itcast...推送前github上分支列表如下图 ?...推送分支,就是把该分支上的所有本地提交推送到远程库,推送时要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上 git push origin 分支名称 例: git push origin...因为dev分支中没有文件操作,所以文件列表不变,但是分支列表增加了一项 点击垃圾桶可以删除指定分支,但是不要 ?...推送后github上文件列表如下图,注意在红线1处选择itcast分支 ? 推送后github上分支列表如下图,在上图中点击红线2处 ?

    28610
    领券