Git提交单文件过大的一些处理操作

 打开git bash

运行 git verify-pack 命令并获取对象大小

git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -n | tail -10 > large_objects.txt

处理输出文件,计算对象大小并转换为兆字节

awk '{ printf "%s %s %s %.2f MB\n", $1, $2, $3, $3 / (1024 * 1024) }' large_objects.txt

移除未引用的对象:

git prune

只删除未引用的对象,而不进行任何其他的垃圾回收或优化操作。

运行垃圾回收

git gc --prune=now --aggressive

会立即删除所有未引用的对象,并且使用更激进的方式来优化和压缩 Git 存储库。适用于需要彻底清理和优化存储库的情况。

找到引用此对象的提交

git rev-list --objects --all | grep 0bed6423f6a24c17e13851cb930f50b0f6a93d8c

执行交互式 rebase

git rebase -i <Commit>

执行 git rebase -i <commit> 后,会打开一个文本编辑器,显示从 <commit> 开始的所有提交列表。每个提交前面都有一个命令,可以对提交进行以下操作:

  • pick:保留该提交不变。
  • reword:保留该提交,但允许修改提交消息。
  • edit:保留该提交,但在变基过程中暂停,允许用户进行更改(如修改提交内容)。
  • squash:将该提交和前一个提交合并成一个提交,允许修改提交消息。
  • fixup:将该提交和前一个提交合并成一个提交,但不修改提交消息。
  • drop:删除该提交。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值