Git开发手册
git一些不常用的命令记不住,可以查看git开发手册(https://m.php.cn/manual/view/34957.html)
1、.git/objects/pack 文件过大
今天从git拉取项目进行开发的时候克隆的很慢,还以为是网速的问题。查看了一些git命令框的拉取网络速度发现网速也很快,克隆下来后才发现是.git文件夹太大,项目代码占用很小。发现了是git的问题后,就第一时间查找下是那个地方出的问题导致文件过大。
进入.git目录后发现是/objects/pack目录下面的xxx.pack文件占用过大。
2、pack文件过大出现的原因
在开发过程中有时候不小心上传了大文件,虽然后面在目录里面删除了,但会被git记录下来。这样慢慢的记录的越来越多,就变为了目前这样文件太大。出现臃肿。我们可以使用git自带的filter-branch工具或者BFG进行仓库清理。
3、使用git filter-branch清理
进入git命令框,输入命令。首先查询出3个大文件信息
git verify-pack -v .git/objects/pack/pack-xxx.idx | sort -k 3 -n | tail -3 (xxx你的.git的pack目录文件)
查询结果
73671b13992abba02a7fa56d37735d4ac01803b1 blob 62992368 62936889 132214388
在根据上面的文件名的编码ID:73671b13992abba02a7fa56d37735d4ac01803b1 查询出大文件的名称:
git rev-lis