文档章节

改写历史,永久删除git库的物理文件

JFinal
 JFinal
发布于 2014/04/02 22:57
字数 249
阅读 7028
收藏 25

     发布在 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

JFinal

粉丝 3946
博文 4
码字总数 2275
作品 3
海淀
CTO(技术副总裁)
加载中

评论(6)

啦啦啦拉拉
啦啦啦拉拉
反正我就知道推送node的项目的时候都忽略node_module
Jason_hu
Jason_hu
有必要。
JFinal
JFinal

引用来自“再踏”的评论

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

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

惊鸟
惊鸟
确实有这种必要,不过这样感觉git的意义一小半都没了
k
killerg
1024
如梦技术
如梦技术
1024个赞
从git中永久删除文件以节省空间

在使用版本管理工具的过程中我们会碰到这样的问题:不小心把一个不该加入版本管理的文件加进去了,有时候这个文件很大,也许我们整个版本库才几百 K,但加进去这个没用的文件却有好几百M,我可...

妈妈说名字长长长能引来美女123
2016/12/08
13
0
git学习笔记——查看git历史记录

1.查看Git日志: 命令:git log 默认不加参数,git日志会按照最新的日期从上往下显示 参数:-p 显示版本间的代码差异 -数字 显示部分的提交 -哈希值 显示指定的版本 2.指定查找范围: --sinc...

若晨辰
2013/08/15
0
0
如何控制 Git 库的膨胀? GC 一步搞定!

相信每个公司都有自己的官网。小明公司也不例外,不过小明却发现公司的“猿”哥哥将许多视频放在了代码仓库里,导致原本只有代码的仓库从早期的几十MB,飙升至 1G以上,变得无比臃肿(或者是慢...

码云Gitee
09/13
0
0
svn 迁移到git

1.物理环境 Git–server Centos5.8 192.168.1.245Svn–server Centos5.8 192.168.1.108 2.建立SVN用户到git用户的映射文件 建立SVN用户到git用户的映射文件,文件格式如下: cat /tmp/useri...

linuxprobe16
2016/11/24
16
0
git的submodule功能详解

git的submodule功能详解 1. 前言 项目的版本库在某些情况下需要引用其他版本库中的文件,例如有一套公用的代码库,可以被多个项目调用,这个公用代码库能直接放在某个项目的代码中,而是要独...

佳期如梦
2014/03/31
0
11

没有更多内容

加载失败,请刷新页面

加载更多

Go interface{} to string

package mainimport "fmt"func main() {var a interface{}a = "dsadjaldaldad"var b stringb = a.(string) // 话说,用人话说的话,这叫什么操作?fmt.Println(a, b)}...

taadis
24分钟前
0
0
数据库防火墙

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵...

突突突酱
33分钟前
1
0
RDBMS 关系型数据库与 NoSQL 全面比较

随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面: 低延迟的读写速度:应用快速地反应能极大地提升用户的满...

PeakFang-BOK
41分钟前
1
0
徒弟做了一个Python的实战小项目——银行系统

国际惯例:实践是检验真理的唯一标准。 众所周知,在编程过程中理论知识再充实也需要通过项目的炼金石。下面给大家看一下我徒弟做的一个小项目实战要求,是做一个银行系统,就是我们去银行办...

无也Python
48分钟前
2
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部