Managing .git file size

前端 未结 4 1863
时光取名叫无心
时光取名叫无心 2020-12-14 12:10

My .git file has grown to 229Mb and I wondering what the best way to cut down the size is. I know about git gc and have been using it a fair amount. I\'m not totally sure

相关标签:
4条回答
  • 2020-12-14 12:36

    If you want to keep your (reachable) commit history intact, then expire, repack, prune, and garbage collect:

    git reflog expire --expire=0 --all
    git repack -ad
    git prune 
    git gc
    

    This should be the minimal size you can get your repo and keep your commit history.

    If not, i.e., you want or do not mind starting afresh with the current state of the repo as the initial commit, then Peter Tillemans' approach will do it.

    0 讨论(0)
  • 2020-12-14 12:36

    I'd do a bit of garbage collecting with git gc

    0 讨论(0)
  • 2020-12-14 12:37

    You have some techniques in "Reduce git repository size", but I mention also in it than git gc alone can increase the size of the repo!

    So some filter branch (also referenced in that question) can be needed, if nobody is actively pulling from your repo.

    One factor which tends to increase rapidly the size of a Git repo is the versioning of too many binaries. It is one of Git limits, so try to:

    • version such large object in their own Git repo, referenced as submodules
    • or version them in an external repository made for deliveries, like a Maven repository (i.e. "not in a Git repo")
    0 讨论(0)
  • 2020-12-14 12:50

    The easiest would be to do a

    git clone --depth 1 your_old_repo
    

    on a new location and then swap it back in place.

    see also git faq

    0 讨论(0)
提交回复
热议问题