När du är värd för Git på Bitbucket finns det en hård gräns på 2 GB - om denna överskrids har du bara skrivskyddad tillgång till förvaret. För att förhindra detta kan du till exempel retroaktivt ta bort stora mappar eller filer från dina commits. Men även i andra fall (om åtkomstdata har hittat sin väg in i historiken eller node_modules har halkat för att bemästra igen) måste du retroaktivt manipulera Gits historia, tvärtemot dess natur.
Bitbucket har skrivit en detaljerad artikel om detta själv. För att gå igenom det hela på ett ärende skapar vi först ett nytt arkiv:

Sedan klonar vi förvaret till en tom mapp på den lokala maskinen:
6ab7686fc508ce87c52b10bb5d01ee51
Nu skapar vi två undermappar med filer med slumpmässigt innehåll:
6ab7686fc508ce87c52b10bb5d01ee51
Vi driver nu på mästaren:
6ab7686fc508ce87c52b10bb5d01ee51
Nu har vi nästan nått den hårda gränsen på 2 GB på Bitbucket:

Vi kan också kontrollera detta lokalt (se "storlek-pack"):
6ab7686fc508ce87c52b10bb5d01ee51

Uppgiften är nu att retroaktivt ta bort "foo" från förvaret för att halvera dess storlek. För att göra detta redigerar vi först den aktuella HEAD och skriver mappen i gitignore:
6ab7686fc508ce87c52b10bb5d01ee51
Slutligen tar vi bort mappen med hjälp av BFG Repo Cleaner (BFG kräver en aktuell JRE på systemet som ett systemkrav):
6ab7686fc508ce87c52b10bb5d01ee51
Vi kan nu se resultatet lokalt:
6ab7686fc508ce87c52b10bb5d01ee51

Förvarets storlek har dock inte ändrats på Bitbucket eftersom skräpsamlaren ännu inte har utförts på distans och bitbucket utför inte ett "git gc" med varje tryck:

Detta bekräftas också av stödet:

Så det är bäst att skicka en begäran direkt till support@bitbucket.org för att manuellt köra "git gc" i förvaret. Efter en kort tid gjordes detta också av supportteamet:

Om du "nyligen" flyttar förvaret till en annan dator hamnar bara 0,9 GB på disken. Om någon har 1,8 GB-versionen tillgänglig lokalt är en "git pull" följt av "git gc" tillräcklig.