美文网首页developer
Git 仓库瘦身

Git 仓库瘦身

作者: 巩固2022 | 来源:发表于2017-10-26 21:40 被阅读89次

原文链接(英)

步骤1:查找大文件

#!/bin/bash
#set -x 

# Shows you the largest objects in your repo's pack file.
# Written for osx.
#
# @see http://stubbisms.wordpress.com/2009/07/10/git-script-to-show-largest-pack-objects-and-trim-your-waist-line/
# @author Antony Stubbs

# set the internal field spereator to line break, so that we can iterate easily over the verify-pack output
IFS=$'\n';

# list all objects including their size, sort by size, take top 10
objects=`git verify-pack -v .git/objects/pack/pack-*.idx | grep -v chain | sort -k3nr | head`

echo "All sizes are in kB's. The pack column is the size of the object, compressed, inside the pack file."

output="size,pack,SHA,location"
for y in $objects
do
    # extract the size in bytes
    size=$((`echo $y | cut -f 5 -d ' '`/1024))
    # extract the compressed size in bytes
    compressedSize=$((`echo $y | cut -f 6 -d ' '`/1024))
    # extract the SHA
    sha=`echo $y | cut -f 1 -d ' '`
    # find the objects location in the repository tree
    other=`git rev-list --all --objects | grep $sha`
    #lineBreak=`echo -e "\n"`
    output="${output}\n${size},${compressedSize},${other}"
done

echo -e $output | column -t -s ', '

步骤2:删除大文件的信息

$ git filter-branch --tag-name-filter cat --index-filter 'git rm -r --cached --ignore-unmatch filename' --prune-empty -f -- --all

步骤3:

$ rm -rf .git/refs/original/
$ git reflog expire --expire=now --all
$ git gc --prune=now
$ git gc --aggressive --prune=now
$ du -sh .git/objects  #查看文件大小

相关文章

  • Git 仓库瘦身

    原文链接(英) 步骤1:查找大文件 步骤2:删除大文件的信息 步骤3:

  • 给 git 瘦身

    http://blog.mallol.cn/如何给git仓库瘦身删除大文件.html

  • git瘦身

    给你的git仓库瘦身[https://www.cnblogs.com/freephp/p/6273082.html...

  • 为git仓库瘦身

    git filter-branch --tree-filter 'rm -f WebRoot/WEB-INF/li...

  • Git 仓库瘦身方法

    仓库瘦身方法 问题 为什么瘦身?由于每个人都必须下载文件,因此获取代码库的速度变慢。它们占用服务器上的大量存储空间...

  • git迁移

    git clone --bare 原库/仓库.gitcd /仓库git push --mirror 新库/仓库.git

  • git学习记录

    git init创建git仓库 git add添加文件到仓库 git commit -m "xxx"提交文件到仓库...

  • 从远程分支拉取代码

    git init 初始化git仓库 git remote add origin 仓库地址 链接远程仓库 git f...

  • git 仓库

    git 初始化 初始化git init git 新建 git 仓库,关联远程仓库 关联远程仓库git remote...

  • git 命令行操作笔记

    git中的选项解释 创建本地git仓库 提交代码到git仓库 本地git仓库添加到远程仓库中 克隆远程仓库到本地 ...

网友评论

    本文标题:Git 仓库瘦身

    本文链接:https://www.haomeiwen.com/subject/wpekpxtx.html