git pack文件过大

作者:Intopass
链接:https://www.zhihu.com/question/29769130/answer/45546231
来源:知乎

一:常规办法
1.删除无用的分支
gitbranchd2.tag g i t b r a n c h − d 2. 删 除 无 用 的 t a g git tag -d
3.清理本地版本库
$ git gc –prune=now

二:高级办法
注意高级办法会导致push冲突,需要强制提交,其他人pull也会遇到冲突,建议重新克隆。
!!!注意这些操作都很危险,建议找个示例库进行测试,确保自己完全掌握之后再实际操作。

1.完全重建版本库
rmrf.git r m − r f . g i t git init
gitadd. g i t a d d . git cm “first commit”
gitremoteaddorigin g i t r e m o t e a d d o r i g i n git push -f -u origin master

2.有选择性的合并历史提交
$ git rebase -i

会进入一个如下所示的文件
1 pick ba07c7d add bootstrap theme and format import
2 pick 7d905b8 add newline at file last line
3 pick 037313c fn up_first_char rename to caps
4 pick 34e647e add fn of && use for index.jsp
5 pick 0175f03 rename common include
6 pick 7f3f665 update group name && update config

将想合并的提交的pick改成s,如
1 pick ba07c7d add bootstrap theme and format import
2 pick 7d905b8 add newline at file last line
3 pick 037313c fn up_first_char rename to caps
4 s 34e647e add fn of && use for index.jsp
5 pick 0175f03 rename common include
6 pick 7f3f665 update group name && update config

这样第四个提交就会合并进入第三个提交。
等合并完提交之后再运行
gitpushf g i t p u s h − f git gc –prune=now

只是为了clone小的话,用–depth=1只获取最新的commit即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值