赞
踩
打开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
:删除该提交。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。