|
|
|
|
|
by charles_f
981 days ago
|
|
By random chance I ended up in the git internals doc^1 today, also lovely refered to as plumbing and porcelain. It's a fantastic read, very well explained. I wish all doc was written with such explicit care to be understood. It reads like a good friend is trying to explain you something. What got me into that was a 51Gb ".pack" file that I wanted to understand. If you wonder about that, they're pack files, and what that "delta compression" message when you commit is about^2. The 51Gb file though I don't have an explanation for as of yet, I'm guessing something terrible happened before I joined, and people didn't find the courage to forego the history just yet. But at least I got an entertaining read out of it. ^1: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po... ^2: https://git-scm.com/book/en/v2/Git-Internals-Packfiles |
|
This stack-overflow looks like it contains a reasonable description about how to rewrite history to remove objects:
https://stackoverflow.com/questions/11050265/remove-large-pa...
It might be easier to declare repo bankruptcy. Seed a new repo from the existing repo's source files. Have the commit message point to the old repo. Stop using the old repo. Yes, you lose history and folks trying to perform repo archeology will have to jump to the old repo.
But rewriting history to remove large files can be equally as awful since references to git commit IDs tend to end up in places you don't expect and when you rewrite history, you change the commit IDs.
Good luck.