Git 问题求教 - git rm 大文件但是.git 文件夹还是很大,怎么处理

2016-12-01 11:05:21 +08:00
 bonfy
git 的时候不小心把 test 的内容都 commit 进去了

(我明明已经加.gitignore 了,还是会 add 进去。。。当然这个我先不纠结了)

现在的问题是已经 rm 了,但是.git 里面还是有 pack 文件很大,怎么搞呢,明明就是几 kb 的事,现在 clone 下来就是几 MB,99%都是.git 里面的 pack 文件

老司机有遇到这个问题的么? 除了重新建 Repo 还有其他法子不?
6145 次点击
所在节点    程序员
24 条回复
fivesmallq
2016-12-01 18:07:40 +08:00
之前遇到过 ,可以参考下 http://nll.im/post/clean-up-git-repo.html
bonfy
2016-12-01 21:50:01 +08:00
谢谢各位,我最后还是 git reset , git push --force 重新提交解决的

核弹级选项: filter-branch 估计也是正解,但是看着就吓人,没勇气尝试。。。
Sunnyyoung
2016-12-01 23:45:08 +08:00
## 命令

`git filter-branch --tree-filter 'rm -rf test/' --tag-name-filter cat HEAD --all`

## 说明

`--all` : 所有分支
`--tree-filter`: 需要执行的命令
`--tag-name-filter cat` : Tag 也做修改
DravenJohnson
2016-12-02 05:57:56 +08:00
需要 Clean 历史 Commit ,后晌几个说的都可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX