Bitbucket: Ștergeți folderul din istoricul Git

Când găzduiți Git pe Bitbucket, există o limită de 2 GB - dacă acest lucru este depășit, aveți acces doar în citire la depozit. Pentru a preveni acest lucru, puteți, de exemplu, să eliminați retroactiv dosare mari sau fișiere din comitetele dvs. Dar, de asemenea, în alte cazuri (dacă datele de acces au intrat în istoric sau node_modules a revenit la master) trebuie să manipulați retrospectiv istoria Git, contrar naturii sale.


Bitbucket a scris un articol detaliat despre acest lucru. Pentru a rula totul într-un caz, mai întâi creăm un nou depozit:

istoria bitbucket curată

Apoi clonăm depozitul într-un folder gol de pe mașina locală:

6ab7686fc508ce87c52b10bb5d01ee51

Acum creăm două sub-foldere cu fișiere cu conținut aleatoriu:

6ab7686fc508ce87c52b10bb5d01ee51

Acum împingem pe stăpân:

6ab7686fc508ce87c52b10bb5d01ee51

Acum am ajuns aproape la limita de 2 GB pe Bitbucket:

istoria bitbucket curată

Putem verifica acest lucru și la nivel local (vezi „pachetul de dimensiuni”):

6ab7686fc508ce87c52b10bb5d01ee51

istoria bitbucket curată

Sarcina acum este de a elimina retroactiv „foo” din depozit pentru a înjumătăți dimensiunea acestuia. Pentru a face acest lucru, edităm mai întâi HEAD-ul curent și scriem folderul în gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

În cele din urmă, eliminăm folderul cu ajutorul BFG Repo Cleaner (BFG necesită un JRE curent pe sistem ca cerință de sistem):

6ab7686fc508ce87c52b10bb5d01ee51

Acum putem vedea rezultatul la nivel local:

6ab7686fc508ce87c52b10bb5d01ee51

istoria bitbucket curată

Dar pe Bitbucket dimensiunea depozitului nu s-a schimbat încă, deoarece colectorul de gunoi nu a fost încă executat de la distanță și bitbucket nu execută un "git gc" la fiecare apăsare:

istoria bitbucket curată

Acest lucru este confirmat și de asistență:

istoria bitbucket curată

Deci, cel mai bine este să trimiteți o cerere direct la support@bitbucket.org pentru a rula manual „git gc” în depozit. După un timp scurt, acest lucru a fost făcut și de echipa de asistență:

istoria bitbucket curată

Dacă mutați „proaspăt” depozitul pe alt computer, doar 0,9 GB vor ajunge pe disc. Dacă cineva are versiunea de 1,8 GB disponibilă local, este suficient un „git pull” urmat de „git gc”.

Înapoi