Bitbucket: Fshi dosjen nga historiku i Git

Kur pret Git në Bitbucket, ekziston një kufi i fortë prej 2 GB - nëse kjo tejkalohet, ju keni vetëm qasje vetëm për lexim në depo. Për të parandaluar këtë, për shembull, ju mund të hiqni retrospektivisht dosje ose skedarë të mëdhenj nga angazhimet tuaja. Por edhe në raste të tjera (nëse të dhënat e hyrjes kanë hyrë në histori ose node_modulet janë rrëshqitur përsëri për t'u zotëruar) ju duhet të manipuloni në mënyrë retrospektive historinë e Git, në kundërshtim me natyrën e tij.


Bitbucket ka shkruar një artikull të hollësishëm për këtë vetë. Për të ekzekutuar të gjithë çështjen në një rast, së pari krijojmë një depo të re:

historia e bitbucket e pastër

Pastaj ne klonojmë depon në një dosje të zbrazët në makinerinë lokale:

6ab7686fc508ce87c52b10bb5d01ee51

Tani krijojmë dy nën-dosje me skedarë me përmbajtje të rastësishme:

6ab7686fc508ce87c52b10bb5d01ee51

Tani po shtyjmë masterin:

6ab7686fc508ce87c52b10bb5d01ee51

Tani pothuajse kemi arritur kufirin e vështirë prej 2 GB në Bitbucket:

historia e bitbucket e pastër

Ne gjithashtu mund ta kontrollojmë këtë në nivel lokal (shih "size-pack"):

6ab7686fc508ce87c52b10bb5d01ee51

historia e bitbucket e pastër

Detyra tani është të heqim në mënyrë retroaktive "foo" nga depoja për të ulur madhësinë e saj në gjysmë. Për ta bërë këtë, ne së pari editojmë HEAD aktual dhe shkruajmë dosjen tek gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

Në fund, ne heqim dosjen me ndihmën e BFG Repo Cleaner (BFG kërkon një JRE aktual në sistem si një kërkesë e sistemit):

6ab7686fc508ce87c52b10bb5d01ee51

Tani mund ta shohim rezultatin në nivel lokal:

6ab7686fc508ce87c52b10bb5d01ee51

historia e bitbucket e pastër

Sidoqoftë, madhësia e depozitës nuk ka ndryshuar në Bitbucket sepse mbledhësi i mbeturinave nuk është ekzekutuar ende në distancë dhe bitbucket nuk kryen një "git gc" me çdo shtytje:

historia e bitbucket e pastër

Kjo konfirmohet edhe nga mbështetja:

historia e bitbucket e pastër

Pra, është më mirë të dërgoni një kërkesë direkt në support@bitbucket.org për të ekzekutuar manualisht "git gc" në depo. Pas një kohe të shkurtër, kjo u bë edhe nga ekipi mbështetës:

historia e bitbucket e pastër

Nëse zhvendosni "rishtas" depon në një kompjuter tjetër, vetëm 0.9 GB do të përfundojë në disk. Nëse dikush ka në dispozicion versionin 1.8 GB, një "git pull" i ndjekur nga "git gc" është i mjaftueshëm.

Mbrapa