改写历史,永久删除git库的物理文件
博客专区 > JFinal 的博客 > 博客详情
改写历史,永久删除git库的物理文件
JFinal 发表于4年前
改写历史,永久删除git库的物理文件
  • 发表于 4年前
  • 阅读 6557
  • 收藏 23
  • 点赞 10
  • 评论 6

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: 为了给 github.com 下的 jfinal 项目瘦身,永久删除了jfinal git 库中的 jar 文件

     发布在 github 上的项目 jfinal 最初没有使用maven进行管理,所以 WEB-INF/lib 留存有 jar 文件,使用 maven进行库文件管理以后这些 jar 不再有用,故删之。

    但即便是删掉,库中还是会存有这些文件的物理文件,占有一定的存储空间,从而 git clone 下来时的总文件大小达到 29M之多,git osc 速度算快的,但 github.com简直就无法忍受了,所以通过 git help filter-branch 找到改变历史的办法,具体操作如下:

git clone git@github.com:jfinal/jfinal.git
git filter-branch --tree-filter 'rm -f WebRoot/WEB-INF/lib/*.jar' --tag-name-filter cat -- --all
git push origin --tags --force
git push origin --all --force

   删完后再 git clone 整个文件大小缩减到 940K,git clone 秒秒钟搞定,即便是 github 也是极速,打完收工

JFinal官方网址:http://www.jfinal.com

标签: jfinal git
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
JFinal
粉丝 3866
博文 4
码字总数 2275
作品 3
评论 (6)
如梦技术
1024个赞
killerg
1024
惊鸟
确实有这种必要,不过这样感觉git的意义一小半都没了
JFinal

引用来自“再踏”的评论

确实有这种必要,不过这样感觉git的意义一小半都没了

一般不会这么用,这样使用的场景是当你历史上 push 了一个非常大的文件,后来这文件废弃,但始终会影响 clone 的速度,另一个场景是历史上可能 push 了某些需要保密的敏感文件需要彻底干掉

Jason_hu
有必要。
啦啦啦拉拉
反正我就知道推送node的项目的时候都忽略node_module
×
JFinal
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: