Bitbucket: Slet mappe fra Git-historik

Der er en hård grænse på 2 GB, når du hoster Git på Bitbucket - hvis dette overskrides, har du kun skrivebeskyttet adgang til arkivet. For at forhindre dette kan du f.eks. Fjerne store mapper eller filer med tilbagevirkende kraft fra dine forpligtelser. Men også i andre tilfælde (hvis adgangsdata er kommet ind i historien eller node_modules er gled tilbage til master) skal du med tilbagevirkende kraft manipulere Gits historie i modsætning til dens natur.


Bitbucket har skrevet en detaljeret artikel om dette selv. For at køre det hele igennem på en sag opretter vi først et nyt lager:

bitbucket historie ren

Derefter kloner vi lageret til en tom mappe på den lokale maskine:

6ab7686fc508ce87c52b10bb5d01ee51

Nu opretter vi to undermapper med filer med tilfældigt indhold:

6ab7686fc508ce87c52b10bb5d01ee51

Vi skubber nu på mester:

6ab7686fc508ce87c52b10bb5d01ee51

Nu har vi næsten nået den hårde grænse på 2 GB på Bitbucket:

bitbucket historie ren

Vi kan også kontrollere dette lokalt (se "størrelse-pakke"):

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket historie ren

Opgaven er nu at fjerne "foo" fra arkivet med tilbagevirkende kraft for at skære størrelsen i halve. For at gøre dette redigerer vi først den aktuelle HEAD og skriver mappen i gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

Endelig fjerner vi mappen ved hjælp af BFG Repo Cleaner (BFG kræver en nuværende JRE på systemet som et systemkrav):

6ab7686fc508ce87c52b10bb5d01ee51

Vi kan nu se resultatet lokalt:

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket historie ren

Depotstørrelsen er dog ikke ændret på Bitbucket, fordi affaldssamleren endnu ikke er udført eksternt, og bitbucket udfører ikke en "git gc" med hvert skub.:

bitbucket historie ren

Dette bekræftes også af støtten:

bitbucket historie ren

Så det er bedst at sende en anmodning direkte til support@bitbucket.org om manuelt at køre "git gc" i lageret. Efter kort tid blev dette også gjort af supportteamet:

bitbucket historie ren

Hvis du "frisk" flytter lageret til en anden computer, vil kun 0,9 GB havne på disken. Hvis nogen har 1,8 GB-versionen tilgængelig lokalt, er en "git pull" efterfulgt af "git gc" tilstrækkelig.

Tilbage