[linux] .git/objects/pack 删除git的大文件

这篇具有很好参考价值的文章主要介绍了[linux] .git/objects/pack 删除git的大文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:git进阶 | 03 -如何彻底删除git中的大文件_git 删除大文件_Mculover666的博客-CSDN博客

(1)查看当前5个大文件

 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

(2)一个一个将大文件从提交记录中移除

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 大文件名' --prune-empty --tag-name-filter cat -- --all 

(3)彻底删除

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

(4)查看.git目录大小

du -h -d 1 .git

重新提交

git add .
git commit -m "upload code"
git push origin master

但是报错: Git push error pre-receive hook declined。。。。于是查了一下。。是因为protect机制导致的。。。。

gitlab - Git push error pre-receive hook declined - Stack Overflow

Open your project > Settings > Repository and go to "Protected branches", find "master" branch into the list and click "Unprotect" and try again.

这样即可。。。。。

终于。。。成功了。。。。。 文章来源地址https://www.toymoban.com/news/detail-754175.html

到了这里,关于[linux] .git/objects/pack 删除git的大文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何下载github上用git-lfs工具下载的大文件

    要下载 GitHub 上使用 Git LFS 工具存储的大文件,您可以进行以下步骤: 安装 Git LFS:如果您的系统上没有安装 Git LFS,请先安装它。可以通过终端或命令行进行安装。 克隆存储库:使用以下命令克隆项目存储库到本地: 下载大文件:进入存储库目录,并使用以下命令下载大文

    2024年02月12日
    浏览(60)
  • 在git使用时不小心commit了大文件,如何删除commit中的大文件记录

    问题背景:由于许多人在使用git命令的时候,习惯于使用 git add . 添加所有更改的命令,这个习惯会导致在进行git 进行push的时候,由于无意间提交commit缓存的大文件,阻止正常的push 从而很难解决,本文为了解决这问题,有以下小经验(文章广泛参考了其他帖子) 如果你也因

    2024年02月16日
    浏览(42)
  • Linux笔记之删除指定目录下除最新修改的以 .pack 为扩展名的文件之外的所有文件

    code review! 这段代码是使用C++语言编写的,它执行了一系列命令来删除指定目录下的旧文件。让我逐行解释代码的功能: 首先,声明并初始化了一个名为 cmd 的 std::string 变量,用于存储要执行的命令。命令的内容是一个字符串,它由多个子命令以管道符( | )连接而成。 接下

    2024年02月04日
    浏览(44)
  • Git 删除 GitHub仓库的文件

    新建文件夹 git bash here 在新建的文件夹里右键git bash here打开终端,并执行git init初始化仓库 git clone 你的地址 找到github上要删除的仓库地址,并复制,在终端里输入git clone 你的地址 要删除文件的库里右键 git bash here 打开终端 在终端里输入 dir 查看此文件夹下的文件和目录(

    2024年02月12日
    浏览(51)
  • Linux下 文件删除但是空间未被释放 或者 磁盘已满但找不到对应的大文件 的解决方案

    linux磁盘空间已满,手动rm -rf 删除了大文件之后,df -h 查看一下发现空间占用还是不变,有时候会想rm -rf 删除只是逻辑删除到回收站一样?其实不然,通常这种情况都是文件被删除,但是还被进程占用,因此删除文件空间未释放 通常的建议是 kill 掉对应的进程 ,但是如果是

    2024年02月12日
    浏览(42)
  • git上传报错:Object too large, rejecting the pack

    在gerrit设置了最大不能上传超过600M的文件,今天开发遇到推送问题: 结果到本地怎么也找不到大文件。 后来只能按commit排查,用如下命令排查到了: 解决方法,将大文件去掉:(commitid为大文件所在commit)

    2024年02月22日
    浏览(39)
  • github上传超过100M的大文件

    当上传的工程中有超过100M的文件时,直接上传github会产生如下报错: 解决方法: 安装一个Git LFS(Git Large File Storge,Git 大文件储存) 先把其余文件正常上传,然后跟踪超过100M的文件, 有大文件一起上传push时要先清掉大文件的push缓存: 出现下面的进度条,就说明文件正在上

    2024年02月12日
    浏览(47)
  • Git移除commit过的大文件

    前言:在提交推送本地更改至仓库时,误将大文件给提交了,导致push时报错文件过大,因此需要将已经commit的大文件移除后再push 若已知要删除的文件或文件夹路径,则可以从第4步开始 1.对仓库进行 gc 操作 2.查询大文件  注意此处是从.git文件夹中查询的,因此需要再仓库根

    2024年02月13日
    浏览(40)
  • 【linux】搜索所有目录和子目录下的包含.git的文件并删除

    在Linux系统中,要搜索所有目录和子目录下的包含`.git`的文件,可以使用`find`命令。`find`命令允许指定路径、表达式和操作来查找文件。 以下是使用`find`命令搜索包含`.git`的文件的方法: 1. 基本搜索:    find /path/to/search -type f -name \\\"*.git*\\\"    这将在指定的路径下搜索所有扩

    2024年03月22日
    浏览(87)
  • Linux/Ubuntu下使用git从Github拉取项目文件、提交修改后文件的完整流程演示

    git是一种分布式开源版本控制系统,它有本地仓库和远程仓库,远程仓库可以和Github的仓库(Repositories)进行链接。远程仓库可以和Github的仓库(Repositories)链接后,提交代码时,在本地修改完代码后,使用git commit将修改提交到本地仓库中,然后再用git push将本地仓库的修改推送到

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包