我们把开发板的完整tf镜像也要上传的github上,镜像压缩过了之后又60M,github限制当个文件大小,如果文件超过50M的话,会警告,如果超过100M的话,会出错。大文件管理不是git的专长,这样会因为有版本历史记录信息导致仓库空间暴涨,所以有这个限制。
当需要更新镜像时,我们最好是删除之前的镜像,并不跟踪这个镜像文件的历史版本信息。
1)git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch path/to/your/file' HEAD
这里的--ignore-unmatch表示忽略不存在的文件
2)git push origin master --force
强制更新远程仓库
---------------------------------------------
3)rm -rf .git/refs/original/
删除本地引用文件
4)git reflog expire --expire=now --all
5)git gc --prune=now
gc命令会压缩版本信息以及删除不使用的objects。但是gc会花费较长时间,需要在空闲时间执行。
6)git gc --aggressive --prune=now
--aggressive表示最大优化gc操作的时间
步骤1至步骤2是操作远程仓库,步骤3至步骤6维护本地仓库的操作
目录和文件类似,rm参数有点小差异:"git rm -rf"。